fnm 命令參考
fnm 提供了一套簡潔而強大的命令行工具來管理 Node.js 版本。
命令概覽
fnm [OPTIONS] <COMMAND>全局選項
| 選項 | 說明 | 默認值 |
|---|---|---|
--node-dist-mirror <URL> | Node.js 下載鏡像 | https://nodejs.org/dist |
--fnm-dir <DIR> | fnm 安裝目錄 | ~/.fnm |
--log-level <LEVEL> | 日志級別 | info |
--arch <ARCH> | 架構覆蓋 | 系統架構 |
--version-file-strategy <STRATEGY> | 版本文件解析策略 | local |
--corepack-enabled | 啟用 Corepack | false |
--resolve-engines | 解析 package.json 中的 engines.node | true |
核心命令
fnm install
安裝新的 Node.js 版本。
bash
fnm install [OPTIONS] [VERSION]參數:
VERSION- 版本號,可以是部分 semver 或 LTS 版本名(如lts/iron)
選項:
--lts- 安裝最新 LTS 版本--latest- 安裝最新版本--use- 安裝後立即使用該版本--progress <auto|never|always>- 顯示下載進度條
示例:
bash
# 安裝最新 LTS 版本
fnm install --lts
# 安裝最新版本
fnm install --latest
# 安裝指定版本
fnm install 20
fnm install 18.17.0
# 安裝指定 LTS 版本
fnm install lts/iron
# 安裝並立即使用
fnm install 20 --usefnm use
切換 Node.js 版本。
bash
fnm use [OPTIONS] [VERSION]選項:
--install-if-missing- 如果版本未安裝則自動安裝--silent-if-unchanged- 版本未變化時不輸出消息
示例:
bash
# 使用指定版本
fnm use 20
# 使用最新安裝的版本
fnm use
# 如果未安裝則自動安裝
fnm use 18 --install-if-missingfnm list
列出本地已安裝的 Node.js 版本。
bash
fnm list [OPTIONS]別名: ls
示例:
bash
fnm list輸出示例:
* v20.10.0 default
v18.19.0
v16.20.2fnm list-remote
列出所有可用的遠程 Node.js 版本。
bash
fnm list-remote [OPTIONS]別名: ls-remote
選項:
--filter <FILTER>- 按版本號或 semver 范圍過濾--lts [<NAME>]- 只顯示 LTS 版本--latest- 只顯示最新版本--sort <asc|desc>- 排序方式
示例:
bash
# 列出所有版本
fnm list-remote
# 只列出 LTS 版本
fnm list-remote --lts
# 列出指定 LTS 版本
fnm list-remote --lts=iron
# 過濾版本
fnm list-remote --filter=18
# 只顯示最新版本
fnm list-remote --latestfnm uninstall
卸載 Node.js 版本。
bash
fnm uninstall [OPTIONS] [VERSION]別名: uni
示例:
bash
# 卸載指定版本
fnm uninstall 16.20.2
# 通過別名卸載
fnm uninstall defaultWARNING
如果提供的是別名,fnm 會刪除該別名指向的 Node.js 版本,以及指向同一版本的其他別名。
版本管理命令
fnm default
設置或獲取默認 Node.js 版本。
bash
fnm default [VERSION]示例:
bash
# 設置默認版本
fnm default 20
# 獲取當前默認版本
fnm defaultfnm current
顯示當前正在使用的 Node.js 版本。
bash
fnm current示例:
bash
fnm current
# 輸出: v20.10.0fnm alias
為版本設置別名。
bash
fnm alias <VERSION> <NAME>示例:
bash
# 設置別名
fnm alias 20 default
fnm alias 18 legacy
# 使用別名
fnm use defaultfnm unalias
刪除別名。
bash
fnm unalias <NAME>示例:
bash
fnm unalias legacy環境配置命令
fnm env
輸出 Shell 環境變量配置。
bash
fnm env [OPTIONS]選項:
--shell <bash|zsh|fish|powershell>- 指定 Shell 類型--json- 輸出 JSON 格式--use-on-cd- 輸出自動切換版本的腳本
示例:
bash
# 輸出當前 Shell 的配置
fnm env
# 輸出 Bash 配置
fnm env --shell bash
# 輸出 JSON 格式
fnm env --json
# 啟用自動切換版本
fnm env --use-on-cdfnm completions
輸出 Shell 補全腳本。
bash
fnm completions [OPTIONS]選項:
--shell <bash|zsh|fish|powershell>- 指定 Shell 類型
示例:
bash
# Bash
fnm completions --shell bash >> ~/.bashrc
# Zsh
fnm completions --shell zsh >> ~/.zshrc
# Fish
fnm completions --shell fish > ~/.config/fish/completions/fnm.fish
# PowerShell
fnm completions --shell powershell >> $PROFILE高級命令
fnm exec
在指定 Node.js 版本環境中執行命令。
bash
fnm exec [OPTIONS] -- <COMMAND>選項:
--using <VERSION>- 指定使用的版本
示例:
bash
# 使用 Node.js 18 執行命令
fnm exec --using=18 -- node --version
# 使用指定版本運行腳本
fnm exec --using=20 -- npm run build命令速查表
| 命令 | 別名 | 說明 |
|---|---|---|
install | i | 安裝 Node.js 版本 |
use | - | 切換 Node.js 版本 |
list | ls | 列出已安裝版本 |
list-remote | ls-remote | 列出遠程版本 |
uninstall | uni | 卸載 Node.js 版本 |
default | - | 設置/獲取默認版本 |
current | - | 顯示當前版本 |
alias | - | 設置版本別名 |
unalias | - | 刪除別名 |
env | - | 輸出環境配置 |
completions | - | 輸出補全腳本 |
exec | - | 在指定版本中執行命令 |
相關鏈接
- 安裝 Node.js - 詳細安裝指南
- 版本管理 - 版本管理最佳實踐
- install 命令詳解 - install 命令詳細說明