Skip to content

fnm use 命令详解

fnm use 命令用于切换当前使用的 Node.js 版本。

命令语法

bash
fnm use [OPTIONS] [VERSION]

参数说明

VERSION

指定要切换的 Node.js 版本:

bash
# 切换到主版本
fnm use 20

# 切换到特定版本
fnm use 20.10.0

# 使用别名
fnm use default

# 不指定版本,读取版本文件
fnm use

选项说明

--install-if-missing

如果版本未安装,自动安装后切换:

bash
fnm use 18 --install-if-missing

--silent-if-unchanged

如果版本未变化,不输出消息:

bash
fnm use 20 --silent-if-unchanged

--node-dist-mirror

--install-if-missing 配合使用,指定下载镜像:

bash
fnm use 18 --install-if-missing --node-dist-mirror=https://npmmirror.com/mirrors/node

--fnm-dir

指定 fnm 安装目录:

bash
fnm use 20 --fnm-dir=/custom/path

--log-level

设置日志级别:

bash
fnm use 20 --log-level=quiet

使用示例

基本切换

bash
# 切换到 Node.js 20
fnm use 20

# 切换到 Node.js 18.17.0
fnm use 18.17.0

自动安装并切换

bash
# 如果版本未安装,自动安装
fnm use 16 --install-if-missing

使用别名切换

bash
# 使用预设的别名
fnm use default
fnm use legacy

静默模式

bash
# 在脚本中使用,避免不必要的输出
fnm use 20 --silent-if-unchanged

版本选择优先级

当不指定版本时,fnm 按以下顺序查找:

  1. .node-version 文件
  2. .nvmrc 文件
  3. package.jsonengines.node
  4. 默认版本

与 default 命令的区别

  • fnm use - 切换当前 Shell 会话的版本
  • fnm default - 设置全局默认版本
bash
# 设置默认版本(影响新终端)
fnm default 20

# 临时切换版本(仅当前终端)
fnm use 18

常见问题

版本未安装

bash
# 错误信息
error: Can't find version 18.0.0

# 解决方法:自动安装
fnm use 18 --install-if-missing

切换后 node 版本不变

确保 Shell 配置正确:

bash
# 检查 node 路径
which node

# 应该指向 fnm 目录
# ~/.fnm/node-versions/.../bin/node

版本文件不生效

bash
# 确认启用了 --use-on-cd
eval "$(fnm env --use-on-cd)"

# 确认版本文件存在
cat .node-version

相关链接