fnm 安装与配置

采用Rust语言编写的动态切换Node的工具,相较于nvm-windows可以提供更好的性能

1.下载二进制文件

https://github.com/Schniz/fnm/releases
1

2.新建目录并放置压缩包内的二进制文件

我使用的目录是 D:\Developer\fnm\bin

3.配置环境变量

+代表添加,*代表追加

[+] FNM_DIR => D:\Developer\fnm => fnm的安装目录

[*] Path => %FNM_DIR%\bin => 将fnm 的 二进制 目录添加到path中

[*] Path => %FNM_DIR%\aliases\default\bin => 将fnm 的 shim 目录添加到path中

1.可选环境变量

1.FNM_NODE_DIST_MIRROR【Node.js 下载源】

默认值 = https://nodejs.org/dist
如果网络不稳定可更改为:https://npmmirror.com/mirrors/node

2.FNM_RESOLVE_ENGINES【是否解析 package.json 中的 engines.node】

默认值:false
启用后,在进入项目目录时会自动切换 Node 版本,这个功能只在 shell hook 场景下效果最好,纯环境变量模式下价值有限。

4.初始化

fnm要求每次在Shell 启动时初始化环境,之所以这样做是因为需要把 fnm 管理的 Node 路径,注入到当前 Shell 的环境变量里,不同于将node环境直接写死在环境变量或者传统 nvm这种写死但通过切换映射的方式,fnm是将node相关环境通过初始化注入到当前shell中的,初始化并不是切换node,而是告诉当前shell,Node环境的位置

fnm env | Out-String | Invoke-Expression
||
fnm env --use-on-cd | Out-String | Invoke-Expression (进入带 .nvmrc 的目录时,自动切 Node 版本)

1.永久生效(即打开powershell自动执行)

1.打开配置窗口

notepad $PROFILE

2.写入

fnm env | Out-String | Invoke-Expression

5.相关指令

# 查看fnm版本
fnm -V
# 查看可安装的node列表
fnm list-remote
# 查看本地已安装的node列表
fnm list
# 安装node最新LTS版本
fnm install lts
# 已经本地安装的node版本
fnm uninstall 16.20.2
# 切换node版本
## 临时生效
fnm use lts
## 设置默认版本
fnm default 20
# 查看当前使用的node版本
fnm current
node -v

6.项目级管理

# 生成 .nvmrc
fnm env --use-on-cd
echo "20" > .nvmrc

# 进入目录自动切换 Node(如果目录里有 .nvmrc,fnm 会自动读取)
fnm use
posted @ 2025-12-16 09:58  SpringCore  阅读(197)  评论(0)    收藏  举报