fnm
名称、版本与用途
- 名称:Fast Node Manager(fnm)
- 当前版本:1.39.0
- 路径:
~/.local/share/fnm/fnm - 用途:安装、切换和固定 Node.js 版本。
当前 Node 状态:
当前:24.14.1
已安装:22.13.0、24.14.1、system
默认:24.14.1(lts-latest)基本语法(Synopsis)
fnm [OPTIONS] <COMMAND> [ARGS][] 表示可选项,... 表示可重复;大写名称表示需要替换的参数。
当前安装与更新
当前使用 fnm 官方安装器的标准 Linux 目录,并由本地 terminal-setup 脚本配置:
curl -fsSL https://fnm.vercel.app/install | bash -s -- --skip-shell重新运行官方安装器可更新 fnm;--skip-shell 避免安装器重复修改已经人工维护的 .zshrc。
更新后:
fnm --version
exec zsh数据与项目版本文件
- 程序和 Node 版本:
~/.local/share/fnm/ - 项目版本文件:
.node-version、.nvmrc - 当前环境变量:
FNM_DIR已设置。 - Node 全局包位于各 Node 版本自己的安装目录。
zsh 启动集成
是。.zshrc 把 fnm 目录加入 PATH,并执行:
eval "$(fnm env --shell zsh)"
source <(fnm completions --shell zsh)当前没有使用 --use-on-cd,所以进入含 .node-version 的目录时不会由这个 hook 自动切换。若需要自动切换,可将初始化改为:
eval "$(fnm env --use-on-cd --shell zsh)"基本功能与推荐用法
fnm list
fnm list-remote --lts
fnm install --lts
fnm install 22
fnm use 22
fnm default 22
fnm current
fnm exec --using=22 node --version推荐在项目中提交 .node-version,例如:
24.14.1精确版本比 lts-latest 更适合可重复构建。切换 Node 后,检查 npm/pnpm 全局工具是否仍在当前版本中安装。
示例中的选项、参数与子命令
本表解释本页示例实际出现的选项、参数、子命令及必要的辅助命令语法。
| 语法元素 | 含义 |
|---|---|
env | 输出用于配置当前 shell 的环境变量。 |
completions | 生成 shell 补全脚本。 |
--shell zsh | 指定输出适用于 zsh。 |
--use-on-cd | 进入目录时根据版本文件自动切换 Node.js。 |
list / list-remote | 列出本地或远端可用版本。 |
--lts | 选择长期支持版本。 |
install VERSION | 安装指定 Node.js 版本。 |
use VERSION | 在当前环境使用指定版本。 |
default VERSION | 设置默认版本。 |
current | 显示当前 Node.js 版本。 |
exec | 在指定 Node.js 版本环境中运行命令。 |
--using=VERSION | 为 exec 指定 Node.js 版本。 |
curl -fsSL | 下载脚本:失败即报错、静默但显示错误、跟随重定向。 |
bash -s -- --skip-shell | 从标准输入执行脚本,并把 —skip-shell 传给脚本。 |
--version | 显示 fnm 版本。 |