Windows切换Node版本教程
Windows 下 fnm 安装使用教程
1. 安装 fnm
方式一:使用 winget(推荐)
1 | winget install Schniz.fnm |
方式二:使用 Scoop
1 | scoop install fnm |
方式三:使用 Chocolatey
1 | choco install fnm |
方式四:手动下载
从 GitHub Releases 下载:https://github.com/Schniz/fnm/releases
2. 配置环境变量(重要!)
安装后必须配置 shell 集成,否则 fnm use 切换版本后不会生效。
PowerShell 配置
1 | # 编辑配置文件 |
添加以下内容:
1 | fnm env --use-on-cd --shell power-shell | Out-String | Invoke-Expression |
如果没有配置文件,先创建:
1 | New-Item -Path $PROFILE -Type File -Force |
CMD 配置
CMD 不支持自动加载,需要手动设置环境变量。安装时选择”Add to PATH”选项,或手动添加:
1 | # 查看 fnm 安装路径 |
Git Bash 配置
编辑 ~/.bashrc 文件:
1 | # ~/.bashrc |
如果没有 .bashrc,创建它:
1 | echo 'eval "$(fnm env --use-on-cd --shell bash)"' >> ~/.bashrc |
3. 切换版本后不生效的解决方案
问题原因
fnm use 只修改当前 shell 会话的 PATH,新打开的终端窗口不会继承这个修改。
解决方案
方案一:使用 fnm default 设置全局默认版本
1 | fnm default 20 |
然后重新打开终端。
方案二:配置 shell 集成(推荐)
按照上面的配置步骤,为每个终端配置自动加载。
方案三:手动刷新环境变量
1 | # PowerShell |
方案四:使用 fnm 的多 shell 支持
1 | # 在当前会话中切换并生效 |
4. 常用命令
1 | # 查看可安装的 Node.js 版本 |
5. 项目级配置
在项目根目录创建 .node-version 文件:
1 | echo "20" > .node-version |
或创建 .nvmrc 文件:
1 | echo "18" > .nvmrc |
配置后进入目录会自动切换版本(需要配置 shell 集成)。
6. 验证安装
1 | fnm --version |
7. 常见问题
Q: 切换版本后 node 命令找不到?
A: 重新打开终端,或配置 shell 集成。
Q: 多个终端版本不一致?
A: 每个终端都需要独立配置 shell 集成。
Q: 如何查看当前使用的版本?
A: 运行 fnm current 或 node --version。
8. 与 nvm-windows 的区别
| 特性 | fnm | nvm-windows |
|---|---|---|
| 速度 | 快(Rust 编写) | 较慢 |
| 跨平台 | 支持 | 仅 Windows |
| 项目级版本 | 支持 | 不支持 |
| 安装方式 | 原生 | 符号链接 |
fnm 更现代、更快,推荐使用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Chc的技术分享!




