前言fnm 是什么?
fnm: Fast and simple Node.js version manager, built in Rust.
类似 nvm、n、nvs 这些一样,fnm 也是用来管理本地的 Node.js 版本的:
当 Node.js 发布新版本后,希望能一键升级,并快速切换。
不同的应用目录希望能使用特定 Node.js 版本。
fnm 的特点是:
跨平台,支持 macOS、Windows、Linux。
使用 Rust 编写,速度快。发布为单文件,便于安装。
支持按应用自动切换 Node.js 版本。
fnm: Fast and simple Node.js version manager, built in Rust.github.com/Schniz/fnm
如何安装?
macOS 和 Linux 系统
# 一键安装
$ curl -fsSL https://fnm.vercel.app/install | bash
macOS 也可以直接 brew install fnm
安装,但需要配置 Shell 环境:
# 若自行安装,则需手动添加到 .zshrc 或 .bashrc
eval "$(fnm env --use-on-cd)"
Windows 系统
可以直接访问 Releases 下载对应的 exe 文件,也可以通过 Scoop 或 Chocolatey 等工具来安装。 然后也需要配置对应的命令行环境,参考文档来配置对应的 CMD、PowerShell、WSL2 等终端。
建议开发者尽量在 Windows 下使用 Linux on Windows with WSL2,能避免非常多的问题。
更多安装方式参见官方文档。
使用指南
QuickStart
# 1. 安装最新的 LTS 版本
$ fnm install --lts
Installing Node v18.12.1 (arm64)
# 2. 设置为全局默认版本
$ fnm default 18
# 3. 尽情使用吧~
$ node -v
PS:永远记得不要安装单数版本,尽量用最新的 LTS 版本。
常用指令
# 安装其他版本
$ fnm install 16
# 在当前 Shell 使用指定版本
$ fnm use 16
# 查看本地已安装的版本
$ fnm ls
# 查看官方已发布的所有版本
$ fnm ls-remote | grep v16
# 速度慢的时候,可以切换到国内源
$ fnm install 16 --node-dist-mirror=https://npmmirror.com/mirrors/node
使用不同的版本
设置全局默认版本:
# 设置为全局默认版本
$ fnm default 18
在当前 Shell 使用指定版本:
# 在当前 Shell 使用指定版本
$ fnm use 16
使用指定版本来执行某个全局命令:
# 使用指定版本来执行某个全局命令
$ fnm exec --using=18 node -v
在特定目录自动切换版本,也可以提交到源码库方便协作。
# 在应用目录写入文件,指定特定版本
$ echo '16' > .node-version