告别nvm!fnm:新一代极速Node版本管理工具全攻略

📅 2026/7/7 4:36:01 👁️ 阅读次数 📝 编程学习
告别nvm!fnm:新一代极速Node版本管理工具全攻略

告别nvm!fnm:新一代极速Node版本管理工具全攻略

缘起

对于工具,我一直是比较专情(aka:懒)的,关于 Node ,一直是使用 nvm 来管理不同版本的。

理由很简单:

  1. 这个工具我已经会用了
  2. 这个工具满足了我的需求

这种情况下,大部分时候我都不愿意去尝试其他的工具

直到有一天,我终于忍受不了将nvm ls-remote 敲成nvm list available 的时候,我知道我对他的感情已经尽了😴

简单解释

nvm并不原生支持windows,需要使用nvm-windows来支持windows,但是nvm-windows的指令和nvm的一致性存在差异,让我很郁闷,例如上面说的,查询可用版本的时候,nvm-windows 的指令是 nvm list available,而 nvm 的指令是 nvm ls-remote。

介绍fnm

fnm,全称Fast Node Manager,是一款用Rust编写的 Node.js 版本管理工具

然后还有人专门把他和nvm做了比对:

问题nvm 的短板fnm 的破局之道
启动慢Shell 脚本执行,每次切换都像“加载动画”Rust 编译为原生二进制,毫秒级响应
跨平台难Windows 需依赖 WSL,配置复杂原生支持 macOS / Linux / Windows,无需折腾
配置繁琐需手动配置.bashrc/.zshrc,易出错一键安装 + 自动注入,配置简单到“无感”

1和3都是撤:谁频繁安装node,谁频繁切换node(一个新项目才切换一次),一台电脑才配置一次

然后2是我心动的,我有mac,大部分使用远程linux开发,但是我也是在放不下windows,他也许安全性性能都比不上mac和linux,但是他gui的响应性确实很习惯的,而且针对一些文档办公环境也更友好,所以我也很喜欢在windows下写代码。

安装

linux可以直接使用提供的安装脚本,windows使用winget:

# linuxcurl-fsSLhttps://fnm.vercel.app/install|bash#windowswingetinstall--idSchniz.fnm

使用

我对node办公管理工具的要求只有:安装卸载node、切换node环境

安装卸载node

# 查看可用版本fnm list-remote# 安装指定版本fnminstallv22.22.3# 知道名字还可以不用查:安装最新lts版本fnminstall--lts

卸载

切换node环境

# 查看已安装版本fnm list# 切换指定版本fnm use v22.22.3 fnm use v24.17.0

别名

这也是我常用的一个功能: 总有一些古董项目需要修复bug,版本要求也比较老,经常记不住,所以直接给他起一个项目的名字:

fnm list-remote|grepv16.20 fnminstallv16.20.2 fnmaliasv16.20.2 erp fnm list fnm use erp

小结

终于准备告别nvm,全面拥抱fnm

欢迎关注:

告别nvm!fnm:新一代极速Node版本管理工具全攻略