fnm 使用教程:秒切 Node.js 版本
摘要
fnm 是 Rust 写的快速 Node.js 版本管理器,跨平台且比 nvm 快。本教程依据官方文档,介绍三平台安装与 --use-on-cd 自动切换、install/use/default 常用命令、.node-version 与 .nvmrc 项目固定版本,以及从 nvm 迁移的命令对照表。
fnm 使用教程:快速切换 Node.js 版本
项目 A 要 Node 18,项目 B 要 Node 22,全局只能装一个版本怎么办?版本管理器就是解药。fnm(Fast Node Manager)是 Rust 写的新一代 Node 版本管理器,比老牌 nvm 快一个数量级,一条命令装好、自动按项目切换版本。本教程依据 fnm 官方仓库文档(github.com/Schniz/fnm)整理。
一、安装
安装脚本会提示你把初始化命令加进 Shell 配置(~/.bashrc / ~/.zshrc / PowerShell $PROFILE):
--use-on-cd 是灵魂参数:进入含版本文件的目录时自动切换 Node 版本。
二、日常使用
三、项目自动切换(.node-version / .nvmrc)
在项目根目录放一个 .node-version 文件(或 nvm 生态的 .nvmrc,fnm 两者都认):
由于开了 --use-on-cd,cd 进这个目录就自动切到该版本,出来恢复默认。团队成员克隆项目后行为一致,彻底告别"在我机器上是好的"。
四、nvm 老用户迁移
nvm | fnm |
|---|---|
|
|
|
|
|
|
|
|
命令几乎一一对应,.nvmrc 直接兼容。fnm 的优势:安装快(单二进制)、cd 切换快(nvm 的 hook 是出了名的拖慢 Shell)、跨 Windows/macOS/Linux。
五、与其他工具的对比
nvm 只支持 macOS/Linux,Windows 要用 nvm-windows(独立项目)
fnm 三平台原生支持,Windows 下配合 Scoop 安装体验最好
Volta 也是不错的替代品,特点是把版本"钉"在 package.json 里
个人推荐 fnm:快、跨平台、配置最少。
六、总结
需求 | 命令 |
|---|---|
装版本 |
|
切版本 |
|
默认版本 |
|
项目固定版本 | 项目根目录放 |
自动切换 | 初始化时加 |
版本管理器配好后,node -v 再也不会背叛你——每个项目都老老实实用它声明的版本。
