Udostępnij za pośrednictwem


Zainstaluj Node.js na Windows Subsystem for Linux (WSL2)

Dla tych, którzy wolą korzystać z Node.js w środowisku systemu Linux, ten przewodnik pomoże Ci zainstalować Node.js w podsystemie Windows dla systemu Linux (WSL 2 jest zalecana wersja).

Podczas podejmowania decyzji o tym, gdzie zainstalować program i czy programować z Node.js w natywnym środowisku systemu Windows i Linux (WSL 2) należy wziąć pod uwagę następujące kwestie:

  • poziom umiejętności: jeśli dopiero zaczynasz programować za pomocą Node.js i chcesz szybko pracować, aby można było się uczyć, zainstalować Node.js w systemie Windows. Instalowanie i używanie Node.js w systemie Windows zapewni mniej złożone środowisko dla początkujących niż korzystanie z programu WSL.
  • narzędzie klienta wiersza polecenia: jeśli wolisz program PowerShell, użyj Node.js w systemie Windows. Jeśli wolisz Basha, użyj Node.js w systemie Linux (WSL 2).
  • serwer produkcyjny: jeśli planujesz wdrożyć aplikację Node.js w systemie Windows Server, użyj Node.js w systemie Windows. Jeśli planujesz wdrożenie na serwerze z systemem Linux, użyj Node.js w systemie Linux (WSL 2). Program WSL umożliwia zainstalowanie preferowanej dystrybucji systemu Linux (z systemem Ubuntu jako domyślnej), zapewnienie spójności między środowiskiem deweloperskim (gdzie piszesz kod) i środowiskiem produkcyjnym (serwer, na którym wdrożono kod).
  • Szybkość wydajności i zgodność wywołań systemowych: Istnieje ciągła debata i rozwój wydajności systemu Linux i Windows, ale kluczem podczas korzystania z maszyny z systemem Windows jest przechowywanie plików projektu programistycznego w tym samym systemie plików, w którym zainstalowano Node.js. Jeśli zainstalujesz Node.js w systemie plików systemu Windows, zachowaj pliki na dysku z systemem Windows (na przykład C:/). Jeśli zainstalujesz Node.js w dystrybucji systemu Linux (np. Ubuntu), zachowaj pliki projektu w katalogu systemu plików systemu Linux skojarzonym z używaną dystrybucją. (Wprowadź explorer.exe . z wiersza polecenia dystrybucji WSL, aby przeglądać katalog przy użyciu Eksploratora plików systemu Windows).
  • kontenerów platformy Docker: jeśli chcesz użyć kontenerów platformy Docker do tworzenia projektu w systemie Windows, zalecamy zainstalowanie programu Docker Desktop w systemie Windows. Aby użyć platformy Docker w obszarze roboczym systemu Linux, zobacz, jak skonfigurować Docker Desktop dla Windows z WSL 2 (), aby uniknąć konieczności obsługi skryptów kompilacji zarówno dla systemów Linux, jak i Windows ().

Instalowanie podsystemu Windows dla systemu Linux

Zapoznaj się z dokumentacją instalacji WSL, jeśli planujesz używać środowiska deweloperskiego systemu Linux z Node.js. Te kroki obejmują wybór dystrybucji systemu Linux (Ubuntu jest domyślna), a wersja podsystemu Windows dla systemu Linux (WSL 2 jest domyślną i zalecaną wersją). Jeśli chcesz, możesz zainstalować wiele dystrybucji systemu Linux.

Po zainstalowaniu programu WSL 2 i dystrybucji systemu Linux otwórz dystrybucję systemu Linux (można ją znaleźć na liście terminali systemu Windows lub menu Start systemu Windows) i sprawdź wersję i nazwę kodu przy użyciu polecenia: lsb_release -dc.

Zalecamy regularne aktualizowanie dystrybucji systemu Linux, w tym natychmiast po zainstalowaniu, aby upewnić się, że masz najnowsze pakiety. System Windows nie obsługuje automatycznie tej aktualizacji. Aby zaktualizować dystrybucję, użyj polecenia : sudo apt update && sudo apt upgrade.

Windows Terminal

Terminal systemu Windows to ulepszony interfejs wiersza poleceń, który umożliwia uruchamianie wielu kart, umożliwiając szybkie przełączanie się między wierszami poleceń systemu Linux, wierszem polecenia systemu Windows, programem PowerShell, interfejsem wiersza polecenia platformy Azure lub innym preferowanym środowiskiem. Można również tworzyć niestandardowe powiązania klawiszowe (skróty klawiszowe do otwierania lub zamykania kart, kopiowania i wklejania itp.), korzystać z funkcji wyszukiwania, dostosować terminal za pomocą motywów (schematów kolorów, stylów i rozmiarów czcionek, obrazu tła, rozmycia lub przezroczystości) i nie tylko. dowiedz się więcej w dokumentacji terminalu systemu Windows.

Instalowanie nvm, node.jsi npm

Oprócz wyboru, czy zainstalować w systemie Windows, czy WSL, podczas instalowania programu Node.jssą dostępne dodatkowe opcje. Zalecamy używanie menedżera wersji, ponieważ wersje zmieniają się bardzo szybko. Prawdopodobnie trzeba będzie przełączać się między wieloma wersjami Node.js na podstawie potrzeb różnych projektów, nad którymi pracujesz. Menedżer wersji Node.js, częściej znany jako nvm, jest najpopularniejszym sposobem instalowania wielu wersji Node.js. Przejdziemy przez kroki instalacji nvm, a następnie użyjemy go do zainstalowania Node.js i menedżera pakietów node (npm). Istnieją menedżerów wersji alternatywnych, które należy wziąć pod uwagę, jak również opisano w następnej sekcji.

Ważny

Zawsze zaleca się usunięcie wszelkich istniejących instalacji Node.js lub npm z systemu operacyjnego przed zainstalowaniem menedżera wersji, ponieważ różne typy instalacji mogą prowadzić do dziwnych i mylących konfliktów. Na przykład wersja środowiska Node, którą można zainstalować za pomocą polecenia apt-get systemu Ubuntu, jest obecnie nieaktualna. Aby uzyskać pomoc dotyczącą usuwania poprzednich instalacji, zobacz How to remove nodejs from ubuntu.)

Aby uzyskać najbardziej aktualne informacje na temat instalowania NVM, zobacz w Instalowanie i aktualizowanie w repozytorium NVM w witrynie GitHub.

  1. Otwórz wiersz polecenia systemu Ubuntu (lub wybraną dystrybucję).

  2. Zainstaluj program cURL (narzędzie używane do pobierania zawartości z Internetu w wierszu polecenia) za pomocą polecenia: sudo apt-get install curl

  3. Zainstaluj nvm, z: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

    Notatka

    Zainstalowanie nowszej wersji urządzenia NVM przy użyciu programu cURL spowoduje zastąpienie starszej wersji programu Node, która została użyta do zainstalowania urządzenia NVM. Aby uzyskać więcej informacji, zobacz stronę projektu GitHub, gdzie znajdziesz najnowsze informacje o wersji NVM.

  4. Aby zweryfikować instalację, wprowadź: command -v nvm ... Powinno to zwrócić wartość "nvm", jeśli otrzymasz komunikat "Nie znaleziono polecenia" lub w ogóle nie otrzymasz odpowiedzi, zamknij bieżący terminal, otwórz go ponownie i spróbuj ponownie. Dowiedz się więcej w repozytorium github nvm.

  5. Lista, które wersje środowiska Node są obecnie zainstalowane (nie powinny być w tym momencie żadne): nvm ls

    lista NVM bez wersji platformy Node

  6. Zainstaluj zarówno bieżące, jak i stabilne wersje LTS Node.js. W późniejszym kroku dowiesz się, jak przełączać się między aktywnymi wersjami Node.js za pomocą polecenia nvm.

    • Zainstaluj bieżącą stabilną wersję LTS Node.js (zalecaną dla aplikacji produkcyjnych): nvm install --lts
    • Zainstaluj bieżącą wersję Node.js (na potrzeby testowania najnowszych funkcji i ulepszeń Node.js, ale częściej występują problemy): nvm install node
  7. Wyświetl listę zainstalowanych wersji środowiska Node: nvm ls ... teraz powinny zostać wyświetlone dwie zainstalowane wersje.

    lista NVM przedstawiająca wersje LTS i Current Node

  8. Sprawdź, czy Node.js jest zainstalowana, a obecnie domyślna wersja z: node --version. Następnie sprawdź, czy masz również narzędzie npm za pomocą: npm --version (możesz również użyć which node lub which npm, aby zobaczyć ścieżkę używaną dla wersji domyślnych).

  9. Aby zmienić wersję Node.js, której chcesz użyć dla projektu, utwórz nowy katalog projektu mkdir NodeTesti wprowadź katalog cd NodeTest, a następnie wprowadź nvm use node, aby przełączyć się na bieżącą wersję lub nvm use --lts, aby przełączyć się do wersji LTS. Możesz również użyć określonej liczby dla wszystkich zainstalowanych dodatkowych wersji, takich jak nvm use v8.2.1. (Aby wyświetlić listę wszystkich dostępnych wersji Node.js, użyj polecenia: nvm ls-remote).

Jeśli używasz urządzenia NVM do instalowania Node.js i npm, nie należy używać polecenia SUDO do instalowania nowych pakietów.

Menedżerowie wersji alternatywnych

Chociaż nvm jest obecnie najpopularniejszym menedżerem wersji dla Node.js, istnieje kilka alternatyw, które należy wziąć pod uwagę:

  • n to od dawna istniejąca nvm alternatywa, która wykonuje to samo z nieco różnymi poleceniami i jest instalowana za pośrednictwem npm, a nie skryptu bash.
  • fnm jest nowszym menedżerem wersji, który według twórców jest znacznie szybszy niż nvm. (Używa również Azure Pipelines.)
  • Volta to nowy menedżer wersji od zespołu Serwisu LinkedIn, który twierdzi, że zapewnia lepszą szybkość i obsługę międzyplatformową.
  • asdf-vm to pojedynczy interfejs wiersza polecenia dla wielu języków, takich jak ike gvm, nvm, rbenv & pyenv (i nie tylko) w jednym.
  • nvs (przełącznik wersji węzła) to międzyplatformowa nvm alternatywa umożliwiająca integrację z programem VS Code.

Instalowanie programu Visual Studio Code

Zalecamy używanie programu Visual Studio Code z pakietem rozszerzenia Remote-development dla projektów Node.js. Spowoduje to podzielenie programu VS Code na architekturę "klient-serwer" z klientem (interfejsem użytkownika programu VS Code) uruchomionym w systemie operacyjnym Windows i serwerem (kod, Git, wtyczki itp.) uruchomionym "zdalnie" w dystrybucji systemu Linux WSL.

Notatka

Ten scenariusz "zdalny" jest nieco inny niż ten, do którego możesz być przyzwyczajony. Program WSL obsługuje rzeczywistą dystrybucję systemu Linux, w której działa kod projektu, niezależnie od systemu operacyjnego Windows, ale nadal na komputerze lokalnym. Rozszerzenie Remote-WSL łączy się z podsystemem systemu Linux tak, jakby był to serwer zdalny, choć nie jest uruchomiony w chmurze... jest ona nadal uruchomiona na komputerze lokalnym w środowisku WSL, które włączono do uruchamiania obok systemu Windows.

  • Obsługiwane są funkcje IntelliSense i linting oparte na systemie Linux.
  • Projekt będzie automatycznie kompilować się w systemie Linux.
  • Możesz użyć wszystkich rozszerzeń działających w systemie Linux (lint ES, NPM Intellisense, fragmenty kodu ES6 itp.).

Inne edytory kodu, takie jak IntelliJ, Sublime Text, Brackets itp., będą również współpracować ze środowiskiem deweloperskim WSL 2 Node.js, ale mogą nie mieć tego samego rodzaju funkcji zdalnych oferowanych przez VS Code. Te edytory kodu mogą napotkać problemy z uzyskaniem dostępu do udostępnionej lokalizacji sieciowej WSL (\wsl$\Ubuntu\home) i spróbują skompilować pliki systemu Linux przy użyciu narzędzi systemu Windows, co prawdopodobnie nie jest potrzebne. Rozszerzenie Remote-WSL w Visual Studio Code obsługuje tę zgodność, natomiast w innych środowiskach IDE może być konieczne skonfigurowanie serwera X. Wsparcie dla uruchamiania aplikacji GUI w WSL (takich jak IDE edytora kodu) wkrótce będzie dostępne.

Edytory tekstu oparte na terminalu (vim, emacs, nano) są również przydatne do wprowadzania szybkich zmian z prawej strony konsoli. Artykuł, Emacs, Nano lub Vim: Mądrze wybierz swój Terminal-Based edytor tekstu dobrze wyjaśnia pewne różnice i nieco o tym, jak używać każdego z nich.

Aby zainstalować program VS Code i rozszerzenie Remote-WSL:

  1. Pobierz i zainstaluj program VS Code dla systemu Windows. Program VS Code jest również dostępny dla systemu Linux, ale podsystem Windows dla systemu Linux nie obsługuje aplikacji graficznego interfejsu użytkownika, dlatego musimy zainstalować go w systemie Windows. Nie martw się, nadal będziesz w stanie zintegrować się z wierszem polecenia i narzędziami systemu Linux przy użyciu rozszerzenia Remote - WSL.

  2. Zainstaluj Remote — WSL Extension w programie VS Code. Dzięki temu można używać WSL jako zintegrowanego środowiska deweloperskiego i zarządzać zgodnością oraz ścieżkami. Dowiedz się więcej.

Ważny

Jeśli masz już zainstalowany program VS Code, upewnij się, że masz wersji 1.35 maja lub nowszej, aby zainstalować Remote — WSL Extension. Nie zalecamy używania WSL w programie VS Code bez rozszerzenia Remote-WSL, ponieważ utracisz obsługę autouzupełniania, debugowania, lintingu itp. Ciekawostka: to rozszerzenie jest zainstalowane w $HOME/.vscode-server/extensions.

Przydatne rozszerzenia programu VS Code

Chociaż program VS Code zawiera wiele funkcji programowania Node.js domyślnie dostępnych, istnieje kilka przydatnych rozszerzeń, które warto rozważyć do zainstalowania i które są dostępne w pakiecie rozszerzeń Node.js. Zainstaluj je wszystkie lub wybierz te, które wydają się najbardziej przydatne.

Aby zainstalować pakiet rozszerzenia Node.js:

  1. Otwórz okno Rozszerzenia (Ctrl+Shift+X) w programie VS Code.

    Okno Rozszerzenia jest teraz podzielone na trzy sekcje (ponieważ zainstalowano rozszerzenie Remote-WSL).

    • "Lokalne — zainstalowane": rozszerzenia zainstalowane do użytku z systemem operacyjnym Windows.
    • "WSL:Ubuntu-18.04-Installed": Rozszerzenia zainstalowane do użycia z systemem operacyjnym Ubuntu (WSL).
    • "Zalecane": Rozszerzenia zalecane przez program VS Code na podstawie typów plików w bieżącym projekcie.

    rozszerzenia programu VS Code lokalne a zdalne

  2. W polu wyszukiwania w górnej części okna Rozszerzenia wprowadź: Node Extension Pack (lub nazwę dowolnego rozszerzenia, którego szukasz). Rozszerzenie zostanie zainstalowane dla lokalnych lub WSL instancji programu VS Code, w zależności od tego, gdzie został otwarty bieżący projekt. Możesz rozpoznać to, wybierając zdalny link w lewym dolnym rogu okna VS Code (w kolorze zielonym). Umożliwi to otwarcie lub zamknięcie połączenia zdalnego. Zainstaluj rozszerzenia Node.js w środowisku "WSL:Ubuntu-18.04".

    link zdalny programu VS Code

Warto rozważyć kilka dodatkowych rozszerzeń:

  • Debuger języka JavaScript: po zakończeniu opracowywania po stronie serwera za pomocą Node.jsnależy opracować i przetestować stronę klienta. To rozszerzenie jest debugerem JavaScript opartym na języku DAP. Debuguje Node.js, Chrome, Edge, WebView2, rozszerzenia VS Code i inne.
  • Mapki klawiatur z innych edytorów: Te rozszerzenia mogą sprawić, że Twoje środowisko pracy poczuje się jak w domu, jeśli przechodzisz z innego edytora tekstu (na przykład Atom, Sublime, Vim, eMacs, Notepad++, itp.).
  • Ustawienia synchronizacji: umożliwia synchronizowanie ustawień programu VS Code między różnymi instalacjami przy użyciu usługi GitHub. Jeśli pracujesz na różnych maszynach, pomaga to zachować spójność środowiska między nimi.

Konfigurowanie usługi Git (opcjonalnie)

Aby skonfigurować usługę Git dla projektu Node.js w programie WSL, zobacz artykuł Rozpoczynanie pracy z usługą Git w podsystemie Windows dla systemu Linux w dokumentacji programu WSL.