在 Windows 子系統 Linux 版 (WSL2) 上安裝Node.js

如果您以專業方式使用 Node.js,請尋找效能速度和系統呼叫相容性很重要、想要執行利用 Linux 工作區的Docker 容器,並避免維護 Linux 和Windows建置腳本,或只偏好使用 Bash 命令列,然後想要更明確地在Windows 子系統 Linux 版 (上安裝Node.js,WSL 2) 。

使用 Windows 子系統 Linux 版 (WSL) ,可讓您安裝慣用的 Linux 發行版本, (Ubuntu 是我們的預設) ,因此您可以在開發環境 ( (程式碼) 和生產環境 (部署程式碼的伺服器) 。

注意

如果您不熟悉使用 Node.js 進行開發,而且想要快速啟動並執行,以便了解,請在Windows上安裝Node.js。 如果您打算使用 Windows Server 生產環境,也適用這項建議。

安裝 WSL 2

WSL 2 是適用于Windows的最新版本,建議用於專業Node.js開發工作流程。 若要啟用並安裝 WSL 2,請遵循 WSL 安裝文件中的步驟。 這些步驟會包含選擇 Linux 發行版本 (例如 Ubuntu)。

一旦您安裝了 WSL 2 和 Linux 發行版本,請開啟 Linux 發行版本 (位於 Windows 的 [開始] 功能表中),然後使用下列命令來檢查版本和代號:lsb_release -dc

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

安裝 Windows 終端機 (選用)

Windows 終端機是改良的命令列殼層,可讓您執行多個索引標籤,以便快速在 Linux 命令列之間切換,Windows命令提示字元、PowerShell、Azure CLI 或任何您偏好使用的任何專案。 您也可以建立自訂按鍵系結, (快速鍵來開啟或關閉索引標籤、複製+貼上等) 、使用搜尋功能、使用主題自訂終端機, (色彩配置、字型樣式和大小、背景影像/模糊/透明度) 等等。 如需詳細資訊,請參閱Windows 終端機檔

使用Microsoft Store安裝Windows 終端機:透過存放區安裝,會自動處理更新。

安裝 nvm、node.js 和 npm

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

重要

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

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

  2. 使用下列命令安裝 cURL (在命令列中,用來從網際網路下載內容的工具):sudo apt-get install curl

  3. 使用下列命令安裝 nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

    注意

    自 2022 年 1 月 25 日起,NVM v0.39.1 是最新的可用版本。 您可以查看 GitHub 專案頁面以取得最新版的 NVM \(英文\),並調整上述命令以包含最新版本。 使用 cURL 來安裝較新版的 NVM 將會取代舊版,而您使用 NVM 安裝的 Node 版本不會受到影響。 例如:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

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

  5. 列出目前已安裝的 Node 版本 (此時應該沒有任何版本):nvm ls

    NVM list showing no Node versions

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

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

    NVM list showing LTS and Current Node versions

  8. 使用下列命令來確認已安裝 Node.js 及目前預設版本:node --version。 然後,使用下列命令來確認您還有 npm:npm --version (您也可以使用 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 是目前最熱門的 Node 版本管理員,但有幾個替代方案可以考慮:

  • n \(英文\) 是長期的 nvm 替代方案,它會以稍微不同的命令來完成相同工作,並透過 npm 而非 Bash 指令碼來安裝。
  • fnm \(英文\) 是較新的版本管理員,其聲稱速度比 nvm 快很多 (其也會使用 Azure Pipelines \(英文\))。
  • Volta \(英文\) 是由 LinkedIn 小組所提供的新版本管理員,其聲稱已改良速度並提供跨平台支援。
  • asdf-vm 是多種語言的單一 CLI,例如 ike gvm、nvm、rbenv & pyenv (,以及更多) 。
  • nvs \(英文\) (Node 版本切換器) 是跨平台的 nvm 替代方案,能夠與 VS Code 整合 \(英文\)。

安裝 Visual Studio Code

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

注意

這個「遠端」案例與您慣用的有點不同。 WSL 支援實際的 Linux 發行版本,其中,您的專案程式碼會與您的 Windows 作業系統分開 (但仍在本機電腦上) 執行。 Remote-WSL 延伸模組會與您的 Linux 子系統連線,就好像它是遠端伺服器一般,只是它不是在雲端中執行... 它仍是在您的本機電腦上您啟用以隨著 Windows 一起執行的 WSL 環境中執行。

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

終端機型文字編輯器 (vim、emacs、nano) 也有助於直接在主控台內進行快速變更 文章 Emacs、Nano 或 Vim:選擇您的Terminal-Based文字編輯器明智 地執行一些差異,並稍微說明如何使用每個差異。

安裝 VS Code 和 Remote-WSL 延伸模組:

  1. 下載並安裝 VS Code for Windows。 VS Code 也適用於 Linux,但 Windows 子系統 Linux 版不支援 GUI 應用程式,因此我們需要將它安裝在 Windows 上。 別擔心,您仍然可以使用 Remote - WSL 延伸模組,與您的 Linux 命令列和工具整合。

  2. 在 VS Code 上安裝 Remote - WSL 延伸模組。 這可讓您使用 WSL 做為整合式開發環境,並為您處理相容性和路徑。 深入了解

重要

如果您已安裝 VS Code,則必須確定您具有 1.35 May 版本或更新版本,才能安裝 Remote - WSL 延伸模組。 若沒有 Remote - WSL 延伸模組,不建議您使用 WSL,因為您會失去自動完成、偵錯、linting 等的支援。有趣的事實:此 WSL 延伸模組安裝在 $HOME/.vscode-server/extensions 中。

實用的 VS Code 延伸模組

雖然 VS Code 隨附許多現成可用的 Node.js 開發功能,但 Node.js 延伸模組套件中提供了一些您可考慮安裝的實用延伸模組。 全部安裝,或挑選對您最實用的延伸模組。

安裝 Node.js 延伸模組套件:

  1. 在 VS Code 中開啟 [延伸模組] 視窗 (Ctrl+Shift+X)。

    [延伸模組] 視窗現在分為三個區段 (因為您安裝了 Remote-WSL 延伸模組)。

    • 「本機 - 已安裝」:安裝來與您 Windows 作業系統搭配使用的延伸模組。
    • 「WSL:Ubuntu-18.04 - 已安裝」:安裝來與您 Ubuntu 作業系統 (WSL) 搭配使用的延伸模組。
    • 「建議」:VS Code 根據目前專案中的檔案類型所建議的延伸模組。

    VS Code Extensions Local vs Remote

  2. 在 [延伸模組] 視窗頂端的搜尋方塊中,輸入:Node 延伸模組套件 (或您要尋找之任何延伸模組的名稱)。 系統將根據您目前開啟專案的位置,為 VS Code 的本機或 WSL 執行個體安裝此延伸模組。 您可以藉由選取 VS Code 視窗左下角的遠端連結 (以綠色顯示) 來告知。 其將提供您開啟或關閉遠端連線的選項。 在 "WSL:Ubuntu-18.04" 環境中安裝您的 Node.js 延伸模組。

    VS Code remote link

您可能想要考慮的數個額外延伸模組包括:

  • JavaScript 偵錯工具:在伺服器端完成Node.js開發後,您必須開發及測試用戶端。 此延伸模組是以 DAP 為基礎的 JavaScript 偵錯工具。 它會偵錯Node.js、Chrome、Edge、WebView2、VS Code擴充功能等等。
  • 來自其他編輯器的按鍵對應:如果您從另一個文字編輯器 (例如 Atom、Sublime、Vim、eMacs、Notepad++ 等) 進行轉換,這些延伸模組有助於讓您的環境感到非常自在。
  • 設定同步 \(英文\):可讓您使用 GitHub 同步處理不同安裝之間的 VS Code 設定。 如果您在不同的電腦上工作,這有助於讓您的環境在其上保持一致。

設定 Git (選用)

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