Administrator
发布于 2026-11-03 / 4 阅读
0
0

软件安装 —— fnm

本文适用于 Windows 11。

一、介绍

fnm 是 Rust 编写的 Node.js 版本管理器,支持 .nvmrc 和 .node-version 文件,进入项目目录时自动切换版本。

二、安装 fnm

通过 WinGet 安装,安装包约 3~4M,需从 Github 下载,建议开启代理:

# powershell
winget install Schniz.fnm

三、配置 PowerShell

fnm 需要初始化 shell 才能自动切换版本。打开 PowerShell,编辑配置文件:

# powershell
notepad $PROFILE

如果提示找不到路径,手动创建目录:

# powershell
New-Item -ItemType Directory -Force -Path (Split-Path $PROFILE)

# 查看路径:
echo $PROFILE

目录创建好后,再运行 notepad $PROFILE 。

此时笔记本会提示“文件不存在,是否创建”,选择“是”即可。

在文件中添加:

fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression

保存后重启 PowerShell,运行 fnm --version 确认安装成功。

如果 PowerShell 阻止脚本执行,先运行:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

四、安装 Node 并切换

安装最新 LTS 版本:

# powershell
fnm install --lts

安装指定版本:

# 如果下载 Node 速度慢,可以临时设置国内镜像:
$env:FNM_NODE_DIST_MIRROR = "https://npmmirror.com/mirrors/node/"
fnm install 22

手动切换:

fnm use 22

让 CMD 和外部程序也能找到 Node:

# 将以下路径加入用户环境变量 Path:
C:\Users\gavin\AppData\Roaming\fnm\aliases\default

如果该目录不存在,先运行 fnm default <版本> 创建默认别名,然后再加入 Path。

切换默认版本:

fnm default <版本号>

五、项目级版本锁定

在项目根目录创建 .nvmrc,写入版本号:

echo "22" > .nvmrc

之后进入该目录,fnm 会自动切换到 Node 22。

六、卸载 fnm

如果通过 WinGet 安装,用以下命令卸载:

# powershell
winget uninstall Schniz.fnm

清理残留目录

WinGet 卸载后可能留下 fnm 的数据目录。Windows 上 fnm 管理的 Node 版本通常存放在 %APPDATA%\fnm 或 %LOCALAPPDATA%\fnm,部分环境也可能使用 %USERPROFILE%\.fnm。删除以下文件夹(如果存在):

Remove-Item -Recurse -Force "$env:USERPROFILE\.fnm" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:APPDATA\fnm" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\fnm" -ErrorAction SilentlyContinue

清理 PowerShell 配置

删除之前添加的 fnm 初始化命令即可。

清理环境变量 Path

删除 Path 中的默认别名xxx\fnm\aliases\default

验证卸载

fnm --version


评论