Fnm 安装及配置(Windows)
Fnm(Fast Node Manager)🚀 一个快速而简单的 Node.js 版本管理工具,使用 Rust 编写。
1 安装
1.1 官网
Fnm 官网需要在 Github 上访问,如果访问不了可以通过 GitCode 镜像网站访问。
1.2 下载
在 Fnm 官方网站下载适用于 Windows 的 Fnm 版本时,如遇到访问失败或者下载缓慢问题,请看下文。
遇到 Github 地址打不开或者下载文件慢,请参考如下方法。
① 通过 GitCode 镜像网站 下载,但可能会遇到暂无数据的情况。
② 通过代理网站 Github Proxy 直接下载,Fnm 下载路径如下:
https://github.com/Schniz/fnm/releases/download/v1.38.1/fnm-windows.zip
③ 使用 dev-sidecar 工具,安装教程请参考 dev-sidecar 官网。也可通过代理快速下载,下载地址如下:
https://github.com/docmirror/dev-sidecar/releases/download/v2.0.0.1/DevSidecar-2.0.0.1-windows-x64.exe
1.3 解压
解压至所需安装位置(无需运行),解压后文件夹目录结构如下。
1.4 配置环境变量
将 Fnm 的安装路径添加到系统的环境变量中,具体步骤如下:
① 右键点击“此电脑”或“我的电脑”,选择“属性”;
② 点击“高级系统设置”;
③ 在“系统属性”窗口中,点击“环境变量”;
④ 在“系统变量”部分,点击“新建”;
⑤ 分别输入变量名FNM_DIR
与变量值D:\software\fnm-windows
(记得替换为自己的Fnm安装路径);
⑥ 在“系统变量”部分,找到 Path 变量并双击;
⑦ 点击“新建”,添加 Fnm 的安装路径%FNM_DIR%
;
⑧ 点击“确定”以保存更改。
1.5 验证
以管理员身份打开终端 PowerShell(右击windows开始图标,选择Windows PowerShell(管理员)),输入以下命令:
fnm --version
如果显示 Fnm 的版本号(如下图所示),则表示安装成功。否则请重新尝试以上步骤。
2 Fnm 配置
在终端 PowerShell 中输入以下命令:
fnm env
具体释义如下:
$env:FNM_NODE_DIST_MIRROR:指定 Node.js 分发包的镜像地址。
$env:FNM_VERSION_FILE_STRATEGY:定义如何处理版本文件。
$env:FNM_ARCH:指定系统的架构类型。
$env:FNM_MULTISHELL_PATH:指定用于管理多 Shell 会话的路径。在使用多个终端或 Shell 的情况下,Fnm 会在该路径下创建相应的目录,以便管理不同 Shell 会话的 Node.js 版本。
$env:FNM_COREPACK_ENABLED:启用或禁用 Corepack。
$env:FNM_RESOLVE_ENGINES:确定是否解析引擎版本。
$env:FNM_LOGLEVEL:设置 Fnm 的日志级别,默认值info,可选值quiet, error, info。
$env:FNM_DIR:指定 Fnm 的安装目录。
注意:有些变量不能通过设置系统环境变量修改。
2.1 设置 Node 镜像地址
新增系统变量FNM_NODE_DIST_MIRROR: https://npmmirror.com/mirrors/node/
,如下图所示。
重新打开 PowerShell 并运行fnm env
命令。
2.2 配置 PowerShell
以管理员方式打开终端 PowerShell,目标是配置 Microsoft.PowerShell_profile.ps1
配置文件。
① 创建配置文件,可以在 PowerShell 中运行以下命令:
if (-not (Test-Path $profile)) { New-Item $profile -Force }
也可以以手动方式创建,路径如下:
%userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1Powershell 5
%userprofile%\Documents\PowerShell\Microsoft.PowerShell_profile.ps1Powershell 6+
windows 可以在终端PowerShell运行$profile
命令查看文件路径。
② 编辑配置文件,在 PowerShell 中运行以下命令:
Invoke-Item $profile
③ 将以下命令添加至配置文件末尾并保存。
fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression
2.3 常见问题
① 打开终端 PowerShell,出现以下报错:
解决方法:
以管理员权限打开终端 PowerShell,输入以下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
输入 Y 确定安全策略(如果需要选择的话)。
② 执行fnm use <version>
命令报以下错误:
解决方法:
按照2.2小节重新配置。
3 常用命令
// 查看所有远程可供安装的 Node 版本
fnm list-remote
// 安装某一 Node 版本
fnm install <version>
// 切换某一 Node 版本
fnm use <version>
// 查看当前使用的 Node 版本
fnm current
// 查看所有已安装的 Node 版本
fnm list
// 删除某一 Node 版本
fnm uninstall <version>
// 设置默认版本
fnm default <version>
// 设置 Node 版本别名
fnm alias <version> <alias>
// 移除 Node 版本别名
fnm unalias <alias>
4 指定项目 Node 版本
- package.json 文件中指定:设置以下字段。
{
"engines": {
"node": ">=18.0.0"
}
}
- .node-version 文件中指定:在文件中设置 Node 版本。
v22.9.0
若 Fnm 不能在本地查找到符合项目指定的 Node 版本,将会在终端中给出提示,若选择 Y 将会自动下载并切换至指定 Node 版本。