fnm nodejs 版本管理工具:Windows安装 作者:马育民 • 2026-10-06 09:35 • 阅读:10000 # 安装 ### winget默认安装(不推荐) PowerShell,推荐 winget ```powershell winget install Schniz.fnm ``` 默认安装路径: ``` C:\Users\你的用户名\AppData\Local\Microsoft\WinGet\Packages\Schniz.fnm_xxxx\ ``` ### winget指定安装路径(推荐) ``` winget install Schniz.fnm -l D:\devtools\fnm ``` 安装路径: ``` D:\devtools\fnm ``` ### 手动安装 从 https://github.com/Schniz/fnm/releases 下载解压,加入 `PATH` ### 卸载 ``` winget uninstall Schniz.fnm ``` # 配置环境变量 安装后需在 Shell 配置添加初始化,让终端识别 `fnm` 命令 修改 **用户环境变量**: [](https://www.malaoshi.top/upload/0/0/1GW3GYfXMYSk.png) ### 验证 重启终端,执行 ```bash fnm --version ``` # 修改node安装路径 fnm 下载的所有 Node 版本 默认存放在(由环境变量 `FNM_DIR` 控制): ``` C:\Users\你的用户名\.fnm\ ``` 或者 ``` C:\Users\你的用户名\AppData\Roaming\fnm\node-versions ``` ### 改变 Node 版本存放路径(推荐,必改) 只需要改环境变量 `FNM_DIR`,跟安装方式无关: 新建一个目录,例如: ``` D:\devtools\node-versions\ ``` PowerShell 设置系统环境变量(永久,推荐): ``` [Environment]::SetEnvironmentVariable("FNM_DIR", "D:\devtools\node-versions", "Machine") ``` PowerShell 设置用户环境变量(永久): ```powershell [Environment]::SetEnvironmentVariable("FNM_DIR", "D:\devtools\node-versions", "User") ``` 重启终端,之后: ```powershell fnm install 20 ``` 所有 Node 都会装到 D 盘,不占 C 盘空间。 # 让shell加载 fnm env `fnm use` 需要先让当前 shell 加载 `fnm env` 输出的环境变量,它才能"切换" Node 版本。你现在只是把 `fnm.exe` 放进了 PATH,但没做 shell 集成,所以它找不到用于替换版本的变量。 ### 解决办法:把 fnm 初始化写进 PowerShell 配置文件 **1. 打开(或创建)PowerShell 配置文件** 在 PowerShell 里执行: ```powershell notepad $PROFILE ``` 如果提示文件不存在,先创建它: ```powershell New-Item -ItemType File -Path $PROFILE -Force notepad $PROFILE ``` **2. 在打开的记事本里加入这一行** ```powershell fnm env --shell powershell | Out-String | Invoke-Expression ``` 保存并关闭记事本。 **3. 重新打开 PowerShell**(必须新开窗口,旧窗口不生效),然后验证: ```powershell fnm env ``` 之后才可以使用切换node版本命令: ``` fnm use 22.23.3 ``` --- ### 常见问题 1. **命令找不到 fnm** 检查 Shell 配置是否添加 `eval "$(fnm env)"`,重启终端或 `source ~/.zshrc`。 2. **Windows 权限不足** PowerShell 以管理员身份运行,或把 fnm 目录加入用户 PATH。 3. **切换目录不自动切换版本** 确认配置有 `--use-on-cd`,且项目目录存在 `.node-version` 或 `.nvmrc`。 原文出处:/show_1GW4B1IDP2tP.html