ohmyzsh 和 nvm 仍然是必选项吗?

2025 年 9 月 20 日
 CodeY99

在 2015 年,2016 年,搜索 setup mac 经常是 iTerm2 + omz + nvm 之类的。但是现在 10 年过去了想确认一下仍然建议这么配置吗?

如果删掉 omz 有什么办法独立使用其 git 插件吗?或者有更好的 git alias 方案选择吗?一些 gca, gstp, gpsup 还挺常用的。

这么想主要还是有时候打开终端得等几秒(安装了 p10k),我已经使用 Codex 优化了大部分懒加载和重复配置项,omz 也禁止自动更新了。但是好像刚刚突然在启动一个新终端的时候又卡了几秒。后面打开也都是秒开,就很奇怪。

3399 次点击
所在节点    问与答
22 条回复
wu67
2025 年 9 月 20 日
nvm 没必要了,自己写自定义命令切环境变量就行了
iorilu
2025 年 9 月 20 日
nvm 是没必要

不过可以试试 mise, 这个可以管理各种开发环境, python, node, go 等等, 一个工具全搞定, 我认为还是有用的
stinkytofux
2025 年 9 月 20 日
nvm 管理 node 我用的挺多的.
omz 不用了, 我用 fish , 开箱即用, 好用省心.
Binwalker
2025 年 9 月 20 日
starship+fish 替换各种 shell+主题,mise 替换各种版本管理器
Atma
2025 年 9 月 20 日
我换 ASDF 了
Rache1
2025 年 9 月 20 日
推荐 fnm 代替 nvm ,

zsh 目前还在用,不过它的那个 z 插件挺不错,或者 autojump ,不过现在也有一个替代品 zoxide ,就是使用习惯有一点点差异。

zsh 的那个 git alias 还挺不错的,不过也有不同的替代品了,Windows 上有
https://github.com/gluons/powershell-git-aliases
cunoe
2025 年 9 月 20 日
还真是😂
gudecatch
2025 年 9 月 20 日
fish + asdf
Madrid
2025 年 9 月 20 日
fish mise 🎉
Immortal
2025 年 9 月 20 日
作为终端重度用户,这题我还真投入时间研究过.可以参考我的 dotfile:
https://github.com/0x7a7a/dotfiles/blob/main/zsh/zim/.zimrc

还有 pk10 作者对不同 zsh 管理工具的性能评测:
https://github.com/romkatv/zsh-bench

zim 一类的 zsh 插件管理可以单独提取 omz 里的 git 使用.
nvm 会严重影响终端 prompt 的速度,替换方案就是上面说的 fnm/volta/mise
更究极一些的版本管理可以使用 nix/nix-direnv 一类的方案,不过门槛较高,更适合爱"折腾"的人
KMpAn8Obw1QhPoEP
2025 年 9 月 20 日
@iorilu 我还是分着来的 node 用 nvm Python 用 uv Go 用 mise 哈哈哈
KMpAn8Obw1QhPoEP
2025 年 9 月 20 日
@Immortal 为什么说 nvm 严重影响速度呢 我感觉还好
Immortal
2025 年 9 月 20 日
@KMpAn8Obw1QhPoEP #12
nvm 是纯 shell 实现,相当于每次打开终端会自动载入整个 nvm.而不是像 fnm 那些二进制程序一样用的时候才打开.
如果你"感觉还好",可能是:
1. 你的电脑性能挺不错
2. 你不在意这个
3. 没有对比过"真正的快"

一般来说体感上没有明显感受到慢就不用太在意,自己用的顺手就行.
itechify
2025 年 9 月 20 日
最开始接触服务器那会喜欢在自己主机上面折腾,后来在公司生产环境,都是纯 bash ,再后来自己经常换服务器,不想折腾了
KMpAn8Obw1QhPoEP
2025 年 9 月 21 日
@Immortal 很有道理
rick13
2025 年 9 月 21 日
nvm 非常影响性能,每次打开都需要加载运行一遍脚本,推荐使用 fnm 。omz 性能也挺差的,我是把需要的挑出来了。
ETiV
2025 年 9 月 21 日
nvm 安装完,直接把 ~/.nvm/versions/xxx/bin 加进 PATH 里就可以注释掉 source nvm 的那两行了
需要更新 node 的时候再 uncomment 回来
KMpAn8Obw1QhPoEP
2025 年 9 月 21 日
@ETiV 那也太麻烦了 还不如换其他工具了
the1812
2025 年 9 月 21 日
git 只在 GUI 里用,nvm 性能太差,用 fnm 替代,这样终端都是秒开
v2AKS
2025 年 9 月 21 日
用的 pnpm ,可以用 pnpm env 切换 Node.js 版本

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1160755

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX