Fast Node Manager (fnm) 是一款轻量级的 Node.js 版本管理工具。本文将详细介绍如何在 Windows 系统中使用 fnm 安装和切换 Node.js版本。以及使用 fnm use 22
会报错 We can't find the necessary environment variables to replace the Node version.
的解决方法。
- 下载安装 fnm
winget install Schniz.fnm
- 安装需要的 Node.js 版本
fnm install 22
- 配置 fnm 环境
到这一步我们使用 fnm use 22
会报错 We can't find the necessary environment variables to replace the Node version.

导致该错误的原因:刚安装完fnm,配置文件尚未完全配置。需要运行官方文档的一段代码来解决该问题。
@echo off
:: for /F will launch a new instance of cmd so we create a guard to prevent an infnite loop
if not defined FNM_AUTORUN_GUARD (
set "FNM_AUTORUN_GUARD=AutorunGuard"
FOR /f "tokens=*" %%z IN ('fnm env --use-on-cd') DO CALL %%z
)
我们新建一个fnm_start.cmd文件,将以上代码保存到该文件中,然后在cmd中执行该文件。之后再使用 fnm use 22
就可以正常切换nodejs版本了。
这时存在一个问题就是以后每次使用 fnm 都需要先运行fnm_start.cmd文件,否则还是会报错。若想启动cmd就直接使用 fnm,需要修改注册表,详情参考下一步操作。
- 修改注册表,每次启动cmd都能直接只用fnm
打开注册表编辑器,进入HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor
路径下,如果没有对应文件夹,需要手动进行创建。
在 Command Processor
文件夹上右键 -> 新建 -> 字符串值数值名称为 AutoRun
,数值数据为fnm_start.cmd文件的地址(D:\nodejs\fnm_start.cmd
)。之后,每个cmd窗口都可直接使用fnm
若还是使用不了,尝试 重启电脑 让修改后的注册表生效。
转载请注明:半亩方塘 » 使用fnm切换nodejs版本(Windows)