(最新) window环境下 fnm 配置速通

0 阅读2分钟

硬件环境:windows11

操作环境: git version 2.49.0.windows.1

日期:2026-02-05

安装fnm:

curl -fsSL https://fnm.vercel.app/install | bash

正常走完安装流程,会出现提示,意思大概是:依赖已安装,并向 ~/.bashrc 中添加了一些内容

# fnm
FNM_PATH="/xxxx/[user_name]/.local/share/fnm"
if [ -d "$FNM_PATH" ]; then
  export PATH="$FNM_PATH:$PATH"
  eval "`fnm env`"
fi

后面还有:

In order to apply the changes, open a new terminal or run the following command:

source /c/Users/jay18/.bashrc

为了使上面 .bashrc 添加的内容生效,请使用 source ~/.bashrc重载配置文件。

⚠️注意1:

## 配置环境变量 - 1 
eval "`fnm env`"

## 在 cd 目录的时候自动切换 node 版本 - 2
eval "`fnm env --use-on-cd`"

## (推荐)执行命令的时候,明确的告诉 fnm 使用的是 bash 环境,更丝滑,
## 否则他还要自己走一步判断逻辑 -3 
eval "`fnm env --use-on-cd --shell`"

安装node

示例:

# 安装 node 
fnm install v20.20.0
fnm install v22.22.0
fnm install v24.13.0 

自动切换node

在项目根目录中创建 .node-version 或者 .nvmrc 文件,配合之前的 --use-on-cd即可实现在切换目录的时候自动切换pnpm版本。

24.13.0 

安装pnpm

fnm 只管理 nodejs,不会自动切换pnpm 、yarn 等子包管理工具。

推荐使用 corepack安装 pnpm。( Node 16.13+ 自带 Corepack )

pnpm 命令 => corepack shim => 根据 package.json 选择 pnpm 版本 => 执行

# 开启 corepack
corepack enable

# 安装 pnpm
corepack prepare pnpm@latest --activate

如果在有些版本在切换node后,corepack 可能需要重新 enable,再次执行 corepack enable即可。

或者可以在 .bashrc中添加

corepack enable > /dev/null 2>&1

这样每次 shell 启动自动确保存在。

为什么不是 npm -g :

如果是 使用 npm install -g pnpm安装 pnpm,那在切换 node 版本的同时会混乱,找不到 pnpm 。

pnmp 版本管理:

在package.json中:

{
    "packageManager": "pnpm@8.6.11"
}
  • 不同的项目中可以锁定pnpm版本
  • 别人克隆项目自动使用对应版本
  • CI、CD 行为一致

常用命令

# 查看所有远程可安装的 Node.js 版本
fnm list-remote
# 安装指定版本的 Node.js
fnm install <version>
# 安装最新的 LTS(长期支持)版本
fnm install --lts
# 切换到指定版本的 Node.js
fnm use <version>
# 查看当前正在使用的 Node.js 版本
fnm current
# 查看本地已安装的所有 Node.js 版本
fnm list
# 删除指定版本的 Node.js
fnm uninstall <version>
# 设置默认的 Node.js 版本
fnm default <version>
# 为指定版本设置别名
fnm alias <version> <alias>
# 移除指定的版本别名
fnm unalias <alias>
# 使用指定版本运行命令
fnm exec --using=<version> <command>