fnm 管理 Node.js 版本

fnm 也是用来管理本地的 Node.js 版本的: 当 Node.js 发布新版本后,希望能一键升级,并快速切换。 不同的应用目录希望能使用特定 Node.js 版本。 fnm 的特点是: 跨平台,支持 macOS、Windows、Linux。 使用 Rust 编写,速度快。发布为单文件,便于安装。 支持按应用自动切换 Node.js 版本。

如何安装?

macOS 和 Linux 系统

1
2
# 一键安装
$ curl -fsSL https://fnm.vercel.app/install | bash

macOS 也可以直接 brew install fnm安装,但需要配置 Shell 环境:

1
2
# 若自行安装,则需手动添加到 .zshrc 或 .bashrc
eval "$(fnm env --use-on-cd)"

Windows 系统

可以直接访问 Releases 下载对应的 exe 文件,也可以通过 Scoop 或 Chocolatey 等工具来安装。 然后也需要配置对应的命令行环境,参考文档来配置对应的 CMD、PowerShell、WSL2 等终端。

建议开发者尽量在 Windows 下使用 Linux on Windows with WSL2,能避免非常多的问题。

本次使用 Scoop 安装

1
2
3
4
5
6
7
8
# scoop一键安装
scoop install main/fnm

# 添加配置使PowerShell可以调用,使用vscode打开PowerShell配置文件
code $profile

#在最后添加
fnm env --use-on-cd | Out-String | Invoke-Expression

更多安装方式参见官方文档


使用指南

QuickStart

1
2
3
4
5
6
7
8
9
0102030405060708# 1. 安装最新的 LTS 版本
$ fnm install --lts
Installing Node v23.11.0

# 2. 设置为全局默认版本
$ fnm default 23

# 3. 尽情使用吧~
$ node -v

PS:永远记得不要安装单数版本,尽量用最新的 LTS 版本


常用指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
01020304050607080910111213# 安装其他版本
$ fnm install 18

# 在当前 Shell 使用指定版本
$ fnm use 18

# 查看本地已安装的版本
$ fnm ls
* v18.20.8
* v20.19.0
* v23.11.0 default, latest
* system
# 查看官方已发布的所有版本
$ fnm ls-remote

# 速度慢的时候,可以切换到国内源
$ fnm install 16 --node-dist-mirror=https://npmmirror.com/mirrors/node

使用不同的版本

  • 设置全局默认版本:
1
2
# 设置为全局默认版本
$ fnm default 23
  • 在当前 Shell 使用指定版本:
1
2
# 在当前 Shell 使用指定版本
$ fnm use 23
  • 使用指定版本来执行某个全局命令:
1
2
# 使用指定版本来执行某个全局命令
$ fnm exec --using=23 node -v
  • 在特定目录自动切换版本,也可以提交到源码库方便协作。
1
2
# 在应用目录写入文件,指定特定版本
$ echo '16' > .node-version