第一步:下载安装fnm
首先我们找到fnm github
地址:github.com/Schniz/fnm。
我这里选择手动下载 Windows 二进制文件,其它系统可参考其官方文档自行下载安装使用。


第二步:配置PATH
环境变量
- 下载完成得到一个压缩包,解压得到
fnm.exe
文件 (此时并非双击执行 哈哈)。 - 我这里选择在非启动盘
D
盘新建一个文件夹fnm-windows
,其路径为D:\Program Files\fnm-windows
,并将fnm.exe
文件移入到fnm-windows
文件夹内。 - 现在需要将
fnm
配置进PATH
环境变量(配置进用户变量
还是系统变量
可自行选择,我这里都选择用户变量
),使得能够在任意目录打开命令行时都能访问到fnm
。在任务栏搜索中输入高级系统设置
进入环境变量配置页面,也可以在桌面鼠标右键此电脑
-->点击属性
-->滚动到最下方点击高级系统设置
进入。
1.点击环境变量-->2.双击
Path
编辑用户变量-->3.点击新建并将fnm.exe
文件所在的路径位置D:\Program Files\fnm-windows
输入其中-->4.点击确定即可新建完成,此时可关掉刚才打开的两个弹窗。
![]()
![]()
第三步:配置shell
- 此时打开命令行工具执行
fnm --version
可看到fnm
版本号
- 此时需要配置
shell
,我这里只配置Git Bash
,其它诸如Windows PowerShell
、命令提示符(CMD)
等可参考官网进行配置:Set up your shell for fnm。进入官网shell
配置部分复制指令eval "$(fnm env --use-on-cd --shell bash)"
。在Git Bash
中执行nano ~/.bashrc
,nano
将在用户目录新建或打开.bashrc
文件,此时会进入nano
的文本编辑界面,右键Paste
粘贴,ctrl+x
退出-->Y
确认保存修改-->enter
确认保存位置并退出nano
界面。关掉Git Bash
再次进入以使bash
配置生效。
--use-on-cd
会在每次切换目录时基于.node-version
or.nvmrc
切换node
版本。可在当前目录执行
node --version > .node-version
用以在当前目录生成.node-version
文件并将当前node
版本写入文件。
第四步:配置环境变量
现在已经可以正常使用fnm
了,不过我希望自定义安装目录(默认在C
盘),将fnm
下载的node
不同版本都放在D
盘和fnm.exe
一起管理。我这里在上述的D:\Program Files\fnm-windows
文件夹下新建一个与fnm.exe
文件同级的node
文件夹来作为安装目录。执行fnm env
可看到FNM_DIR
环境变量------指向安装目录(FNM_NODE_DIST_MIRROR
------指向node
下载源,若觉得下载速度慢也可换国内镜像,同FNM_DIR
环境变量配置,也可在fnm install [OPTIONS] [VERSION]
时通过--node-dist-mirror
指定下载镜像)。
本次设置 Node.js 版本下载的国内镜像 (默认为:nodejs.org/dist)
fnm install [VERSION] --node-dist-mirror https://npmmirror.com/mirrors/node/
本次设置 Node.js 版本下载的自定义安装目录
fnm install [VERSION] --fnm-dir "D:\Program Files\fnm-windows\node"
重复之前操作打开高级系统设置
进行环境变量配置。
1.点击环境变量-->2.点击新建用户变量-->3.输入变量名:
FNM_DIR
,变量值:D:\Program Files\fnm-windows\node
-->4.点击确定即可新建完成,此时可关掉刚才打开的两个弹窗。
![]()
![]()
第五步:使用fnm
此时可使用fnm
安装node
,查看fnm
相关命令使用。
bash
# 查看 fnm 版本
fnm --version
# fnm 帮助
fnm help
# 查看fnm环境变量(FNM_DIR、FNM_NODE_DIST_MIRROR是否已替换)
fnm env
# 查看所有远程可安装的 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>
此时观察D:\Program Files\fnm-windows\node
目录,有以下两个文件夹aliases
和node-versions
,其中你的node
不同版本就存放在node-versions
中。


第六步:配置npm cache
路径
此时我们来考虑npm
的全局下载路径和缓存路径是否需要修改
bash
# 查看 npm 配置信息
npm config list 或 npm config get
# 查看当前 npm cache 和 prefix 路径
npm config get cache
npm config get prefix
# 修改 cache 和 prefix 路径
npm config set cache "D:\nodejs\node_cache"
npm config set prefix "D:\nodejs\node_global"
# 查看 npm 已配置的镜像源
npm config get registry
# 官方
npm config set registry https://registry.npmjs.org
# 淘宝
npm config set registry https://registry.npm.taobao.org
# 查看全局安装的包 -g 表示全局安装的包,--depth=0 只显示顶层依赖,不显示子依赖。
npm list -g --depth=0
# 查看当前项目的本地安装包 在项目根目录下运行以下命令
npm list --depth=0
当你直接安装Node.js
时,整个生态系统(Node.js
运行时、全局安装的包node_global
、缓存node_cache
)默认都在C
盘。
而fnm
核心功能是为你管理的每一个Node.js
版本都创建独立的安装目录,可以通过在不同node
版本下执行npm config get prefix
验证。即使使用fnm
,所有版本的npm
共享同一个全局缓存目录,可以通过在不同node
版本下执行npm config get cache
验证(两次执行中间需要重启Git Bash
或者每次执行后进入目标目录作比较)。
所以这里我推荐只修改npm
的全局缓存路径(cache),而不修改全局安装路径(prefix)。
bash
# 设置新的缓存目录
npm config set cache "D:\Program Files\fnm-windows\npm-cache"
# 通常情况下,不建议再修改全局安装路径,这会带来很多问题
我这里在上述的D:\Program Files\fnm-windows
文件夹下新建一个与fnm.exe
文件同级的npm-cache
文件夹来作为缓存目录。
设置新的缓存目录后你会发现在你的用户目录生成了一个.npmrc
文件,打开看就是刚才写入的cache
内容:cache=D:\Program Files\fnm-windows\npm-cache
。
第七步:配置VS Code
打开VS Code
,ctrl+`
打开终端,若Git Bash
已为默认打开终端,则无需修改。
若Git Bash
非默认则点击选择默认配置文件
,选择Git Bash
即可;也可ctrl+,
打开设置,搜索Terminal › Integrated › Default Profile: Windows
,选择Git Bash
。
在VS Code
中打开集成终端,输入fnm current
,回车,如果没有报错,那就说明配置成功了。


