Featured image of post 快速安裝任意版本的 NodeJS

快速安裝任意版本的 NodeJS

利用 fnm 快速安裝任意版本的 NodeJS,包含詳細的安裝步驟、配置方法和常見問題解決方案。

最後更新
約 1157 字

前言

在開發過程中,經常需要切換不同版本的 NodeJS 來測試兼容性或使用特定功能。NodeJS 官方提供了多種安裝方式,包括使用 nvm、使用 brew、使用 apt 等。

如果正在使用 fish shell,可以使用 fnm (Fast Node Manager) 來安裝和管理 NodeJS,這比使用 nvm 更加快速和穩定。

使用 fnm 管理 NodeJS 版本是一個快速、高效的解決方案。它提供了簡單的命令來安裝、切換和管理不同版本的 NodeJS,特別適合需要經常切換版本的開發者。結合 pnpm 包管理器,可以獲得最佳的開發體驗。

為什麼選擇 fnm?

  • 速度快: 使用 Rust 編寫,啟動速度比 nvm 快 10 倍
  • 跨平台: 支援 Windows、macOS 和 Linux
  • Shell 整合: 完美支援 fish、zsh、bash 等 shell
  • 自動完成: 提供完整的命令自動完成功能
  • 輕量級: 佔用資源少,安裝快速

安裝 fnm

Linux/macOS

1
curl -fsSL https://fnm.vercel.app/install | bash

Windows

1
2
3
4
5
# 使用 Chocolatey
choco install fnm

# 使用 Scoop
scoop install fnm

手動安裝

1
2
3
4
5
# 下載最新版本
curl -fsSL https://github.com/Schniz/fnm/releases/latest/download/fnm-$(uname -s)-$(uname -m).tar.gz | tar -xzf -

# 移動到系統路徑
sudo mv fnm /usr/local/bin/

配置 Shell

通常已經自動添加,如果沒有,可以按照以下步驟添加。

Fish Shell

將以下內容添加到 ~/.config/fish/config.fish

1
2
3
# fnm
set -gx PATH "$HOME/.local/share/fnm" $PATH
fnm env --use-on-cd | source

Bash/Zsh

將以下內容添加到 ~/.bashrc~/.zshrc

1
2
3
# fnm
export PATH="$HOME/.local/share/fnm:$PATH"
eval "$(fnm env --use-on-cd)"

重新載入配置:

1
source ~/.bashrc  # 或 source ~/.zshrc

或者重新啟動終端。

安裝 NodeJS

查看可用版本

1
2
3
4
5
6
7
8
# 列出所有可用的 LTS 版本
fnm list-remote --lts

# 列出所有可用版本
fnm list-remote

# 列出已安裝的版本
fnm list

安裝特定版本

24 替換為您想要安裝的 NodeJS 版本:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 安裝最新的 LTS 版本
fnm install --lts

# 安裝特定版本
fnm install 24

# 安裝最新版本
fnm install latest

# 安裝特定的小版本
fnm install 24.18.0

切換版本

1
2
3
4
5
6
7
8
# 使用特定版本
fnm use 24

# 設定預設版本
fnm default 24

# 設定當前目錄的版本(會創建 .node-version 文件)
fnm use 24 --install-if-missing

安裝 pnpm

pnpm 是一個快速、節省磁盤空間的包管理器:

1
2
3
4
5
6
7
8
# 啟用 pnpm
corepack enable pnpm

# 或者使用 npm 安裝
npm install -g pnpm

# 或者使用 fnm 安裝
fnm exec --using=24 npm install -g pnpm

驗證安裝

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 檢查 NodeJS 版本
node -v

# 檢查 npm 版本
npm -v

# 檢查 pnpm 版本
pnpm -v

# 檢查 fnm 版本
fnm --version

常用命令

fnm 命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 列出已安裝的版本
fnm list

# 移除特定版本
fnm uninstall 24

# 清理未使用的版本
fnm prune

# 顯示當前使用的版本
fnm current

# 顯示版本路徑
fnm which 24

版本管理

1
2
3
4
5
# 在專案目錄中設定 NodeJS 版本
echo "24" > .node-version

# 或者使用 fnm 自動設定
fnm use 24 --install-if-missing

常見問題解決

1. fnm 命令未找到

確保已經正確配置 shell 配置文件,並重新載入:

1
source ~/.bashrc  # 或對應的配置文件

2. 權限問題

如果遇到權限問題,可以更改安裝目錄:

1
2
export FNM_DIR="$HOME/.fnm"
curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir "$FNM_DIR"

3. 版本切換不生效

確保 shell 配置正確,並且重新啟動終端或重新載入配置。

4. 與現有 nvm 衝突

如果系統中已經安裝了 nvm,建議先移除:

1
2
3
# 移除 nvm
rm -rf ~/.nvm
# 從 shell 配置中移除 nvm 相關行

最佳實踐

  1. 使用 LTS 版本: 在生產環境中使用長期支持版本
  2. 專案版本管理: 在每個專案目錄中創建 .node-version 文件
  3. 定期更新: 定期更新 fnm 和 NodeJS 版本
  4. 備份配置: 備份重要的 shell 配置文件

使用 Hugo 建立
主題 StackJimmy 設計