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

相關鏈接