使用 fnm 管理多版本 Node.js

fnm(Fast and Minimal Node Manager)是一个相对较新的 Node.js 版本管理工具。它的设计目标是提供一个快速且轻量级的解决方案,用于安装、管理和切换不同版本的 Node.js
与 nvm(Node Version Manager)相比,fnm 强调更少的依赖和更快的启动速度,并且支持跨平台,Windows/Linux/Mac 都能用。

1、安装 fnm

全平台安装

如果你的电脑安装了 rust 环境,可直接用 cargo 安装

1
cargo install fnm

Linux/Mac 下安装

使用脚本安装

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

或者使用 brew 安装

1
brew install fnm

Windows 下安装

1
winget install Schniz.fnm

2、激活 fnm

Linux/Mac

1
2
eval "$(fnm env --use-on-cd --shell bash)"
source ~/.bashrc

Windows

将以下代码加入 PowerShell 的配置文件。

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

powershell 配置文件不同版本的windows 可能位置不一样,
可能位于 ~\.config\powershell\Microsoft.PowerShell_profile.ps1
也可能位于 ~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
notepad $profile 或 (如果安装了VSCode)code $profile 命令即可打开编辑。

3、使用

1
2
3
4
5
6
7
8
fnm list # 查看本地已安装 Node.js 版本
fnm list-remote # 查看全部可安装的版本
fnm install 23 # 安装 Node.js v23 最新的子版本
fnm install --lts # 安装当前 lts 版
fnm use 23 # 使用 v23.x ,如 v23.1.0,仅当前终端切换,其它终端窗口不受影响
fnm use system # 使用系统的 Node.js(不是通过 fnm 安装的)
fnm default 23 # 把默认 Node.js 版本切换到 v23.x,所有终端默认的 Node.js 将使用该版本
fnm default system # 把默认 Node.js 切换到系统安装的程序

fnm 安装的 Node.js 程序位于 Windows 的 ~\AppData\Roaming\fnm\node-versions,Linux/Mac 的 ~/.local/share/fnm/node-versions
Node.js 对于一机多版本的需求没 Python 那么强,一般情况下安装当前 LTS 版就够用了。