下载
官方链接:
GitHub - Schniz/fnm: 🚀 Fast and simple Node.js version manager, built in Rust
进入上面网址后,访问可能比较慢,如果能够开代理,可以开代理访问,点击 “Releases” 处的 “Latest” 下载最新版本的安装包,本文档中使用的是 1.38.1版本
选择 Windows 版本进行下载。
安装
将下载的压缩包(.zip)文件解压到某个目录,本文档中为 D:\Program\fnm-windows\ 。
配置
配置环境变量
鼠标右键点击 “此电脑” 图标 -> 选择 “属性” 选项 -> 找到 “高级系统设置” 打开 -> 找到环境变量打开。
在环境变量窗口的 “用户变量” 区域选定 “Path” -> 点击 “编辑” 按钮进入编辑窗口 -> 在编辑窗口点击 “新建” 按钮 -> 将前面解压出来的 fnm.exe 所在路径粘贴到新建环境变量处 -> 然后一直点击 “确定” 按钮保存。
其他配置
按 "Windows 图标键 + X" -> 选择 "终端管理员" 打开(建议一开始就使用 管理员终端 来设置,不然后面步骤因为权限问题还要切换成终端)。
在打开的 “终端管理员” 窗口中执行以下命令。
if (-not (Test-Path $profile)) { New-Item $profile -Force }
执行完成后结果如下,上面命令会在系统的 “文档” 目录下创建一个 WindowsPowerShell 文件夹,并在这个文件夹里面创建了 Microsoft.PowerShell_profile.ps1 文件。
目录: C:\Users\O\Documents\WindowsPowerShell
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2025/6/8 20:17 0 Microsoft.PowerShell_profile.ps1
然后在 “管理员终端” 中执行下面的命令编辑上一步创建的 Microsoft.PowerShell_profile.ps1 文件。
Invoke-Item $profile
上面的命令会自动打开 Microsoft.PowerShell_profile.ps1 文件。在打开的 Microsoft.PowerShell_profile.ps1 文件中 里面添加如下内容,然后保存文件。
fnm env --use-on-cd --shell power-shell | Out-String | Invoke-Expression
再在 “管理员终端” 中执行以下命令,以便系统有权限加载上面的 Microsoft.PowerShell_profile.ps1 文件。
set-executionpolicy remotesigned
到此,fnm 就安装配置好了。
安装 Node
这里以 node.js v22.16.0 版本为例。
打开终端(普通终端就行),执行安装命令。
fnm install 22.16.0
等待一会儿,即可安装完成。
Installing Node v22.16.0 (x64)
00:00:21 ██████████████████████████████████████████████████████████████████████████ 33.82 MiB/33.82 MiB (1.61 MiB/s, 0s)
输入以下命令,查看 Node 环境是否安装成功。
node -v
如果能够看到返回 node 的版本号,即成功。
> node -v
v22.16.0
可能遇到的问题
问题1
打开终端提示如下信息。
. : 无法加载文件 C:\Users\O\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,因为在此系统上禁止运行脚本。
有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\O\Documents\WindowsPowerShell\Microsoft.PowerShell_profil ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
解决方式
这个问题是由于当前用户环境没有加载 Microsoft.PowerShell_profile.ps1 文件的权限导致的,打开 “终端管理员” 执行以下命令即可解决。
set-executionpolicy remotesigned
问题2
安装 node 后,在终端输入 node -v 命令提示以下信息。
node : 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确
,然后再试一次。
所在位置 行:1 字符: 1
+ node -v
+ ~~~~
+ CategoryInfo : ObjectNotFound: (node:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
解决方式
这个问题是没有 Microsoft.PowerShell_profile.ps1 文件导致的,参考上面的 “其他配置” 节内容解决。
# 额外内容
常用命令
# 查看本地安装的 node 版本
fnm ls
# 查看远程可下载的 node 版本
fnm ls-remote
# 安装指定版本 node
fnm install 版本号
# 卸载指定版本 node
fnm uninstall 版本号
# 激活指定版本的 node
fnm use 版本号
# 查看当前激活的 node 版本
fnm current
# 设置指定版本为默认版本
fnm default 版本号