共用方式為


在適用於 Linux 的 Windows 子系統上安裝 Node.js (WSL2)

對於偏好在Linux環境中使用 Node.js 的使用者,本指南將協助您在適用於Linux的 Windows 子系統上安裝 Node.js (WSL 2 是建議的版本)。

在考慮將 Node.js 安裝在何處以及是否要在原生 Windows 環境與 Linux(WSL 2)環境中進行開發時,請考慮以下事項:

  • 技能層級:如果您不熟悉使用 Node.js 進行開發,而且想要快速啟動並執行,以便您學習,在 Windows上安裝 Node.js。 在 Windows 上安裝和使用 Node.js,會比使用 WSL 為初學者提供較不複雜的環境。
  • 命令行用戶端工具:如果您想要 PowerShell,請在 Windows 上使用 Node.js。 如果您想要Bash,請在Linux上使用 Node.js (WSL 2)。
  • 生產伺服器:如果您打算在 Windows Server 上部署 Node.js 應用程式,請在 Windows 上使用 Node.js。 如果您打算在Linux伺服器上部署,請在Linux上使用 Node.js(WSL 2)。 WSL 可讓您安裝慣用的 Linux 發行版(使用 Ubuntu 作為預設值),確保開發環境(您撰寫程式代碼的位置)與生產環境(部署程式碼的伺服器)之間的一致性。
  • 效能速度和系統呼叫相容性:Linux 與 Windows 效能有持續辯論和開發,但使用 Windows 計算機時的關鍵是將開發專案檔保留在已安裝 Node.js的相同文件系統中。 如果您在 Windows 檔案系統上安裝 Node.js,請將檔案保留在 Windows 磁碟驅動器上(例如 C:/)。 如果您在 Linux 發行版上安裝 Node.js (例如 Ubuntu),請在與您使用之發行版相關聯的 Linux 檔案系統目錄中保留項目檔。 (從您的 WSL 發行版的命令行輸入 explorer.exe .,以使用 Windows 檔案總管瀏覽目錄。)
  • Docker 容器:如果您想要使用 Docker 容器在 Windows 上開發專案,建議您 在 Windows 上安裝 Docker Desktop。 若要在Linux工作區中使用 Docker,請參閱 使用 WSL 2 設定適用於 Windows 的 Docker Desktop,以避免同時維護 Linux 和 Windows 組建腳本。

安裝適用於Linux的 Windows 子系統

如果您打算搭配 Node.js使用 Linux 開發環境,請參閱 WSL 安裝檔。 這些步驟將包括選擇Linux發行版(Ubuntu是預設值),以及適用於Linux的Windows子系統版本(WSL 2是預設值和建議的版本)。 如有需要,您可以安裝多個 Linux 發行版。

安裝 WSL 2 和 Linux 發行版之後,請開啟 Linux 發行版(您可以在 Windows 終端機清單或 Windows 開始選單中找到它),並使用 命令檢查版本和程式代碼名稱:lsb_release -dc

建議您定期更新 Linux 發行版,包括安裝後立即更新,以確保您有最新的套件。 Windows 不會自動處理此更新。 若要更新您的發行版本,請使用命令:sudo apt update && sudo apt upgrade

Windows 終端機

Windows 終端機是一個改良的命令列介面,允許您開啟多個分頁,以便快速切換 Linux 命令列、Windows 命令提示字元、PowerShell、Azure CLI 或其他您喜愛的工具。 您也可以建立自定義按鍵系結(用於開啟或關閉索引標籤、複製+貼上等的快捷鍵)、使用搜尋功能、使用主題自定義終端機(色彩配置、字型樣式和大小、背景影像/模糊/透明度)等等。 深入瞭解 Windows Terminal 文件

安裝 nvm、node.js和 npm

除了選擇要在 Windows 或 WSL 上安裝之外,在安裝 Node.js時還有其他選擇。 我們建議使用版本管理員,因為版本變更非常快速。 您可能需要根據您處理的不同專案需求,在多個版本的 Node.js 之間切換。 節點版本管理員,通常稱為 nvm,是安裝多個版本的 Node.js最受歡迎的方式。 我們將逐步解說安裝 nvm 的步驟,然後使用它來安裝 Node.js 和節點套件管理員 (npm)。 有 替代版本管理員 考慮,以及下一節中涵蓋的內容。

重要

在安裝版本管理員之前,建議您先從操作系統中移除任何現有的 Node.js 或 npm 安裝,因為不同類型的安裝可能會導致奇怪且令人困惑的衝突。 例如,可以使用Ubuntu apt-get 命令安裝的 Node 版本目前已過時。 如需移除先前安裝的說明,請參閱 如何從 ubuntu 移除 nodejs。)

如需安裝 NVM 的最新資訊,請參閱 gitHub 上的 NVM 存放庫中 安裝和更新

  1. 開啟您的 Ubuntu 命令列(或您選擇的發行版)。

  2. 使用下列命令安裝 cURL(用來從因特網下載內容的工具)sudo apt-get install curl

  3. 使用 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash 安裝 nvm

    注意

    使用 cURL 安裝較新版本的 NVM 將會取代舊版,而您使用 NVM 安裝的 Node 版本將保持不變。 如需詳細資訊,請參閱 GitHub 項目頁面,以取得 NVM的最新版本資訊。

  4. 若要確認安裝,請輸入:command -v nvm...這應該會傳回 'nvm',如果您收到 「找不到命令」或完全沒有回應,請關閉目前的終端機,重新開啟它,然後再試一次。 深入瞭解 nvm github 存放庫

  5. 列出目前已安裝的 Node 版本(目前應為無):nvm ls

    NVM 清單顯示沒有 Node.js 版本

  6. 同時安裝目前且穩定的 LTS 版本 Node.js。 在稍後的步驟中,您將瞭解如何使用 nvm 命令,在 Node.js 的活跃版本之間切換。

    • 安裝目前的穩定 LTS Node.js 版本(建議用於生產應用程式):nvm install --lts
    • 安裝目前的 Node.js 版本(用於測試最新的 Node.js 功能和改進功能,但更有可能有問題):nvm install node
  7. 列出已安裝 Node.js 的版本號:nvm ls ...現在列出您應該會看到剛才安裝的兩個版本。

    NVM 列表,其中顯示 LTS 和目前的 Node.js 版本

  8. 確認已安裝 Node.js,以及目前使用的預設版本:node --version。 然後,使用:npm --version 確認您也有 npm(您也可以使用 which nodewhich npm 來查看預設版本所使用的路徑)。

  9. 若要變更您想要用於專案的 Node.js 版本,請建立新的專案目錄 mkdir NodeTest,然後輸入目錄 cd NodeTest,然後輸入 nvm use node 切換至目前版本,或 nvm use --lts 切換至 LTS 版本。 您也可以針對任何已安裝的其他版本使用特定號碼,例如 nvm use v8.2.1。 (若要列出所有可用的 Node.js 版本,請使用 命令:nvm ls-remote)。

如果您使用 NVM 來安裝 Node.js 和 NPM,則不應該使用 SUDO 命令來安裝新的套件。

替代的版本管理工具

雖然 nvm 目前是節點最受歡迎的版本管理員,但有幾個替代方案需要考慮:

  • 是一種長期的 nvm 替代方案,通過 npm 安裝,而不是通過 bash 腳本,來實現相同的功能。
  • fnm 是較新的版本管理員,聲稱比 nvm快得多。 (它也使用 Azure Pipelines
  • Volta 是 LinkedIn 團隊推出的新版本管理工具,並聲稱具備更快的速度和跨平台支援。
  • asdf-vm 是多種語言的單一 CLI,例如 ike gvm、nvm、rbenv & pyenv (以及更多語言)。
  • nvs (節點版本切換器) 是跨平臺 nvm 替代方案,能夠 與 VS Code整合。

安裝 Visual Studio Code

我們建議使用 Visual Studio Code,搭配 遠端開發延伸模組套件,用於 Node.js 專案。 這會將 VS Code 分割成「用戶端-伺服器」架構,用戶端(VS Code 使用者介面)在您的 Windows 作業系統上執行,而伺服器(您的程式代碼、Git、外掛程式等)則在您 WSL 的 Linux 散發套件中「遠端」執行。

注意

此「遠端」案例與您可能習慣的案例稍有不同。 WSL 支援實際 Linux 發行版,其中您的專案程式代碼會與 Windows 作業系統分開執行,但仍在您的本機電腦上。 Remote-WSL 延伸模組會與您的 Linux 子系統連線,就像是遠端伺服器一樣,但並未在雲端中執行... 它仍然在您啟用了 WSL 的本機電腦上運行,並且與 Windows 一起執行。

其他程式代碼編輯器,例如 IntelliJ、Sublime Text、Brackets 等,也會使用 WSL 2 Node.js 開發環境,但可能沒有 VS Code 所提供的相同遠端功能。 這些程式碼編輯器可能會遇到問題存取 WSL 共用網路位置(\wsl$\Ubuntu\home),並且會嘗試使用 Windows 工具來建置 Linux 檔案,這可能不是您想要的。 VS Code 中的 Remote-WSL 擴充功能會為您處理相容性問題,至於其他 IDE,您可能需要設定 X 伺服器。 即將推出在 WSL 中執行 GUI 應用程式的支援(例如程式代碼編輯器 IDE)。

終端機型文本編輯器(vim、emacs、nano)也有助於從控制台內快速變更。 本文 Emacs、Nano 或 Vim:明智地選擇您的 Terminal-Based 文字編輯器 很好地說明了它們的一些差異,以及如何使用每個編輯器。

若要安裝 VS Code 和 Remote-WSL 擴充功能:

  1. 下載並安裝適用於 Windows 的 VS Code。 VS Code 也適用於 Linux,但適用於 Linux 的 Windows 子系統不支援 GUI 應用程式,因此我們需要在 Windows 上安裝它。 別擔心,您仍然可以使用遠端 - WSL 擴充功能與 Linux 命令行和工具整合。

  2. 在 VS Code 上安裝 Remote - WSL 擴充功能。 這可讓您使用 WSL 作為集成開發環境,並為您處理相容性和路徑。 深入瞭解

重要

如果您已安裝 VS Code,您必須確定您擁有 1.35 版 5 月發行的版本 或更新版本,才能安裝 Remote - WSL 擴充套件。 不建議在沒有 Remote-WSL 擴充功能的情況下,在 VS Code 中使用 WSL,因為您將失去自動完成、偵錯、linting 等的支援。有趣的事實:此 WSL 擴充功能會安裝在 $HOME/.vscode-server/extensions 中。

實用的 VS 程式代碼延伸模組

雖然 VS Code 附帶許多內建功能,可直接用於 Node.js 開發,但你可以考慮在 Node.js 的擴充套件套件中安裝一些實用的擴充工具。 全部安裝或挑選對您而言最有用的。

若要安裝 Node.js 擴充功能套件:

  1. 在 VS Code 中開啟 Extensions 視窗 (Ctrl+Shift+X)。

    [擴充套件] 視窗現在分成三個區段(您已安裝 Remote-WSL 擴充套件)。

    • 「本機 - 已安裝」:已安裝以搭配 Windows 作業系統使用的擴充功能。
    • “WSL:Ubuntu-18.04-Installed”:為了在 Ubuntu 操作系統(WSL)上使用而安裝的擴充功能。
    • 「建議」:VS Code 根據您目前專案中的檔類型所建議的延伸模組。

    VS Code 擴充功能 本機與遠端

  2. 在 [延伸模組] 視窗頂端的搜尋方塊中,輸入:節點延伸模組套件(或您要尋找的任何延伸模塊名稱)。 視您開啟目前專案的位置而定,VS Code 的本機或 WSL 實例將會安裝延伸模組。 您可以選取 VS Code 視窗左下角的遠端連結來判斷 (綠色)。 它會提供您開啟或關閉遠端連線的選項。 在 「WSL:Ubuntu-18.04」 環境中安裝您的 Node.js 擴充功能。

    VS Code 遠端連結

您可能想要考慮的其他一些延伸模組包括:

  • JavaScript 調試程式:在伺服器端完成 Node.js開發後,您必須開發和測試用戶端。 此擴充功能是以 DAP 為基礎的 JavaScript 調試程式。 它會偵錯 Node.js、Chrome、Edge、WebView2、VS Code 擴充功能等等。
  • 來自其他編輯器的 Keymap:如果您從其他文本編輯器遷移,這些擴充套件可使您的環境彷彿回到熟悉的狀態(例如 Atom、Sublime、Vim、Emacs、Notepad++ 等等)。
  • 設定同步:可讓您使用 GitHub 同步跨不同的安裝的 VS Code 設定。 如果您在不同的電腦上工作,這有助於讓您的環境在所有電腦上保持一致。

設定 Git (選擇性 )

若要在 WSL 上設定 Node.js 專案的 Git,請參閱 WSL 檔中的 開始使用適用於 Linux 的 Windows 子系統上的 Git 一文