AL2023 中的 Node.js - Amazon Linux 2023

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AL2023 中的 Node.js

Node.js AL2023 中的 是以版本 18、20 和 22 表示。所有支援的Node.js版本都是命名空間,並且可以同時安裝在相同的系統上。Namespacing 可確保每個Node.js安裝在檔案系統中都是唯一的。這可透過根據執行時間版本重新命名金鑰目錄和檔案來實現。實際可執行檔名稱看起來會像 node-{MAJOR_VERSION}npm-{MAJOR_VERSION}。不過,一次只能有一個Node.js版本處於作用中狀態。此作用中版本提供預設目錄和檔案名稱,例如節點npm/usr/lib/node_modules,將它們指向目前作用中的執行時間。

這是使用替代工具的功能來實現的。請務必記住,預設可執行檔名稱是虛擬的,當指向不同的已安裝Node.js版本時, 可能會隨時變更。此彈性可讓軟體使用 shebang 中的節點,在叫用時選取所需的版本。不過,當需要特定版本的 Node.js 時,可以透過呼叫命名空間可執行檔 (例如 node-20node-22) 來實現該版本的持久性,該執行期一律使用指定的版本。此外,npm 工具的命名空間可執行檔,例如 npm-20 或 npm-22,一律與對應的 Node.js 版本相關聯,無論目前作用中的執行時間為何。

Node.js 以數個命名空間套件形式分佈。這些套件提供節點,與 npm 工具、文件、程式庫等版本相容。唯一的例外是 Node.js 18,其歷史上不是命名空間,分別在 和 nodejs-npm套件中提供節點nodejsnpm。不過, 的後續版本Node.js會命名空間並以 "nodejs{MAJOR_VERSION}" 開頭。例如, 和 nodejs20-npm套件分別提供 Node.js 20 的節點nodejs20npm

替代工具提供單一命令以在Node.js版本之間切換。根據預設,替代方案會設定為處於自動模式,這會使用優先順序來判斷目前作用中的Node.js版本。不過,您可以隨時啟用任何已安裝的版本。目前,所有支援的 版本Node.js具有相同的優先順序,這表示將自動啟用第一個安裝的版本。

使用替代方案的一些實用範例
  1. 檢查針對 設定哪些替代方案

    alternatives --list
  2. 檢查節點目前的組態

    alternatives --display node
  3. 以互動方式變更Node.js版本

    alternatives --config node
  4. 切換到手動模式並選取特定版本

    alternatives --set node /usr/bin/node-{MAJOR_VERSION}
  5. 切換回自動版本選擇模式

    alternatives --auto node