使用 fnm 管理 node
fnm 管理 Node.js
fnm 是快速的 Node.js 版本管理器,Rust 编写,比 nvm 速度更快,跨平台支持 Windows/macOS/Linux。
1. 安装 fnm
macOS / Linux
curl -fsSL https://fnm.vercel.app/install | bash
安装完成后,把 shell 配置追加到你的终端配置文件:
bash (~/.bashrc)
eval "$(fnm env --use-on-cd)"
zsh (~/.zshrc)
eval "$(fnm env --use-on-cd)"
--use-on-cd:进入包含.node-version/.nvmrc的目录自动切换 node 版本。
生效配置:
source ~/.zshrc
Windows
推荐使用 winget / scoop
# winget
winget install Schniz.fnm
PowerShell 配置($PROFILE):
fnm env --use-on-cd | Out-String | Invoke-Expression
重启终端,验证:
fnm --version
2. 常用命令
查看可安装的 Node 版本
# 列出远程可用版本
fnm list-remote
# 只看 LTS 长期支持版
fnm list-remote --lts
安装指定 Node 版本
# 安装 LTS
fnm install --lts
# 安装指定版本
fnm install 22.14.0
# 安装最新
fnm install latest
查看本地已安装版本
fnm list
# 别名:fnm ls
切换 Node 版本
# 临时切换当前终端会话
fnm use 22
# 设置为系统默认版本(新开终端默认使用)
fnm default 22
卸载版本
fnm uninstall 20
设置别名
fnm alias 22.14.0 mynode
fnm use mynode
项目自动版本
在项目根目录创建文件:
.node-version
22.14.0
开启 --use-on-cd 后,cd 进入文件夹自动切换对应 node。
3. 检查环境
node -v
npm -v
which node # macOS/Linux 应该指向 fnm 管理路径
4. 迁移 nvm 已安装版本(可选)
fnm 可以导入 nvm 缓存:
fnm install --from-nvm
5. 常见问题
- 重启终端 node 版本变回系统版本
没有正确添加
eval "$(fnm env --use-on-cd)"到 shell rc 文件。
- Windows git-bash / mingw
fnm 对 git‑bash 支持有限,优先使用 PowerShell。
- 国内下载慢
设置镜像环境变量再 install:
export FNM_NODE_DIST_MIRROR=https://npmmirror.com/mirrors/node
fnm install --lts
极简工作流示例
# 1.安装lts
fnm install --lts
# 2.设为默认
fnm default lts
# 3.安装另一个版本用于测试
fnm install 20
# 4.切换到20做测试
fnm use 20
# 5.切回默认
fnm use default