V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CodeY99
V2EX  ›  问与答

ohmyzsh 和 nvm 仍然是必选项吗?

  •  
  •   CodeY99 · 23 小时 22 分钟前 · 1110 次点击

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

    • omz 我这里实际就只配置了(git, zsh-autosuggestions, zsh-syntax-highlighting)。而且按理来说 zsh-autosuggestions, zsh-syntax-highlighting 也不需要 omz 管理,直接按照即可。目前来看刚需就是 git 插件
    • nvm , 到现在阶段 Node 是不是兼容性好了很多。是不是只要不维护特别老的项目,不追新的 Nodejs ,装一个比较新的 LTS 就够用了,nvm 或者 fnm 是不是完全没必要?
    • 另外目前 vscode fork 版本似乎已经逐渐作为主流。其中按 `ctr+`` 很容易呼出终端,大家日常还是会更多使用 iTerm2 或者 WezTerm 这种独立终端吗?

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

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

    21 条回复    2025-09-21 17:28:37 +08:00
    wu67
        1
    wu67  
       23 小时 19 分钟前 via Android
    nvm 没必要了,自己写自定义命令切环境变量就行了
    iorilu
        2
    iorilu  
       22 小时 37 分钟前   ❤️ 1
    nvm 是没必要

    不过可以试试 mise, 这个可以管理各种开发环境, python, node, go 等等, 一个工具全搞定, 我认为还是有用的
    stinkytofux
        3
    stinkytofux  
       21 小时 41 分钟前
    nvm 管理 node 我用的挺多的.
    omz 不用了, 我用 fish , 开箱即用, 好用省心.
    Binwalker
        4
    Binwalker  
       21 小时 38 分钟前
    starship+fish 替换各种 shell+主题,mise 替换各种版本管理器
    Atma
        5
    Atma  
       21 小时 37 分钟前
    我换 ASDF 了
    Rache1
        6
    Rache1  
       21 小时 30 分钟前
    推荐 fnm 代替 nvm ,

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

    zsh 的那个 git alias 还挺不错的,不过也有不同的替代品了,Windows 上有
    https://github.com/gluons/powershell-git-aliases
    cunoe
        7
    cunoe  
       21 小时 29 分钟前 via Android
    还真是😂
    gudecatch
        8
    gudecatch  
       21 小时 25 分钟前
    fish + asdf
    Madrid
        9
    Madrid  
       21 小时 5 分钟前
    fish mise 🎉
    Immortal
        10
    Immortal  
       21 小时 3 分钟前   ❤️ 1
    作为终端重度用户,这题我还真投入时间研究过.可以参考我的 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
        11
    KMpAn8Obw1QhPoEP  
       20 小时 32 分钟前 via Android
    @iorilu 我还是分着来的 node 用 nvm Python 用 uv Go 用 mise 哈哈哈
    KMpAn8Obw1QhPoEP
        12
    KMpAn8Obw1QhPoEP  
       20 小时 31 分钟前 via Android
    @Immortal 为什么说 nvm 严重影响速度呢 我感觉还好
    Immortal
        13
    Immortal  
       20 小时 25 分钟前   ❤️ 1
    @KMpAn8Obw1QhPoEP #12
    nvm 是纯 shell 实现,相当于每次打开终端会自动载入整个 nvm.而不是像 fnm 那些二进制程序一样用的时候才打开.
    如果你"感觉还好",可能是:
    1. 你的电脑性能挺不错
    2. 你不在意这个
    3. 没有对比过"真正的快"

    一般来说体感上没有明显感受到慢就不用太在意,自己用的顺手就行.
    itechify
        14
    itechify  
    PRO
       20 小时 23 分钟前
    最开始接触服务器那会喜欢在自己主机上面折腾,后来在公司生产环境,都是纯 bash ,再后来自己经常换服务器,不想折腾了
    KMpAn8Obw1QhPoEP
        15
    KMpAn8Obw1QhPoEP  
       20 小时 2 分钟前 via Android
    @Immortal 很有道理
    rick13
        16
    rick13  
       12 小时 1 分钟前
    nvm 非常影响性能,每次打开都需要加载运行一遍脚本,推荐使用 fnm 。omz 性能也挺差的,我是把需要的挑出来了。
    ETiV
        17
    ETiV  
       9 小时 53 分钟前 via iPhone
    nvm 安装完,直接把 ~/.nvm/versions/xxx/bin 加进 PATH 里就可以注释掉 source nvm 的那两行了
    需要更新 node 的时候再 uncomment 回来
    KMpAn8Obw1QhPoEP
        18
    KMpAn8Obw1QhPoEP  
       7 小时 44 分钟前 via Android
    @ETiV 那也太麻烦了 还不如换其他工具了
    the1812
        19
    the1812  
       7 小时 43 分钟前
    git 只在 GUI 里用,nvm 性能太差,用 fnm 替代,这样终端都是秒开
    v2AKS
        20
    v2AKS  
       6 小时 8 分钟前
    用的 pnpm ,可以用 pnpm env 切换 Node.js 版本
    CodeY99
        21
    CodeY99  
    OP
       2 小时 43 分钟前
    感谢各位大哥回复,目前已经换成 node24 + zim + starship 了。
    - 好久没切换过 node 版本了。所以先暂时移除 node 版本管理器,直接装了 node 版本。需要的时候再说。
    - omz 换成 zim 。git 的插件用惯了,所以可能还离不开 omz 生态
    - p10k 换成 starship ,之前新开 Terminal 好像会闪一下,不确定是不是 p10k instant prompt 造成的。
    - 装了 wezterm 但试了一下没什么感觉,还是用 iTerm2
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2696 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:11 · PVG 20:11 · LAX 05:11 · JFK 08:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.