Wyszukiwanie w witrynie

Jak zarządzać wersjami Nodejs za pomocą n w systemie Linux


Ten przewodnik zawiera krótkie wprowadzenie do "n", nieoficjalnego narzędzia do zarządzania wersjami węzła, a następnie wyjaśnia, jak łatwo zarządzać wersjami nodejs za pomocą n w systemach operacyjnych Linux.

Co to jest n, menedżer wersji węzła?

NodeJS nie wymaga przedstawiania. Nodejs to środowisko wykonawcze dla JavaScript zbudowane na silniku Google V8. Nodejs ma wbudowanego menedżera pakietów o nazwie npm do instalowania wersji węzłów i zarządzania nimi. Istnieje również wiele narzędzi innych firm do zarządzania wersjami węzłów. n jest jednym z narzędzi do zarządzania wersjami węzłów innych firm. Tak, to tylko pojedyncza litera - n.

n to interaktywny menedżer wersji węzła umożliwiający łatwe zarządzanie jedną lub wieloma wersjami NodeJS! Żadnych podpowłok, żadnej konfiguracji profilu, żadnego zawiłego API, żadnego uczenia się - to po prostu proste narzędzie. Jest to po prostu skrypt powłoki, którego kod jest swobodnie dostępny w GitHubie.

1. Zainstaluj n w Linuksie

Najłatwiejszym sposobem zainstalowania n jest użycie npm. Jak już wspomniano, Npm jest wbudowanym menedżerem pakietów dla Nodejs i jest fabrycznie zainstalowany z Nodejs.

Zakładam, że masz już najnowsze Nodejs na swoim komputerze z Linuksem. Jeśli jeszcze nie zainstalowałeś NodeJS, zapoznaj się z poniższym przewodnikiem:

  • Jak zainstalować NodeJS w systemie Linux

Następnie uruchom następującą komendę, aby zainstalować n w systemie Linux:

npm install -g n

Jeśli npm nie jest dostępny lub nie chcesz instalować n za pomocą npm, możesz bezpośrednio pobrać skrypt n z GitHub i zainstalować go jak poniżej:

curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
bash n lts

Spowoduje to zainstalowanie zarówno wersji node lts, jak i npm.

1.2. Utwórz katalog domowy do instalacji węzła

Domyślnie n instaluje node w podkatalogu n/versions w katalogu /usr/local/, który jest zdefiniowany w Zmienna środowiskowa N_PREFIX. Jak już wiesz, potrzebujemy uprawnień sudo do zainstalowania węzła w katalogu /usr/local/n/versions/node/. Aby uniknąć używania sudo, możesz utworzyć dedykowany katalog do instalacji węzłów w $HOME i dodać je do swojej PATH.

Aby utworzyć katalog domowy do instalacji węzła, edytuj plik profilu użytkownika, na przykład ~/.bashrc:

vi ~/.bashrc

Dodaj następujące linie:

export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH

Naciśnij klawisz ESC i wpisz :wq, aby zapisać plik i wyjść.

1.3. Zainstaluj n za pomocą skryptu n-install

Innym sposobem zainstalowania n jest użycie skryptu n-install, który instaluje n bezpośrednio z GitHuba.

curl -L https://git.io/n-install | bash

To polecenie wykona następujący zestaw zadań:

  • Najpierw ustawia zarówno PREFIX, jak i N_PREFIX na $HOME/n;
  • I instaluje n w $HOME/n/bin;
  • Następnie modyfikuje pliki inicjujące obsługiwanych powłok, aby wyeksportować N_PREFIX;
  • Następnie dodaje $HOME/n/bin do PATH;
  • Na koniec instaluje najnowszą wersję LTS Node.js.

2. Zarządzaj wersjami nodejs za pomocą n w systemie Linux

Instalowanie i zarządzanie wersjami nodejs za pomocą n jest całkiem proste! Zobaczmy kilka przykładów.

2.1. Otrzymywać pomoc

Jeśli dopiero zaczynasz korzystać z n, prawdopodobnie dobrym pomysłem będzie wywołanie sekcji pomocy i nauczenie się, jak używać n.

Aby wyświetlić sekcję pomocy n, po prostu uruchom:

n --help

Przejrzyj podręcznik pomocy, aby zapoznać się z użyciem każdego polecenia.

 Usage: n [options] [COMMAND] [args]
 Commands:
 n                              Display downloaded Node.js versions and install selection
   n latest                       Install the latest Node.js release (downloading if necessary)
   n lts                          Install the latest LTS Node.js release (downloading if necessary)
   n                     Install Node.js  (downloading if necessary)
   n install             Install Node.js  (downloading if necessary)
   n run  [args …]     Execute downloaded Node.js  with [args …]
   n run  [args …]     Execute downloaded node  with [args …]
   n which               Output path for downloaded node 
   n exec   [args…]  Execute command with modified PATH, so downloaded node  and npm first
   n rm              Remove the given downloaded version(s)
   n prune                        Remove all downloaded versions except the installed version
   n --latest                     Output the latest Node.js version available
   n --lts                        Output the latest LTS Node.js version available
   n ls                           Output downloaded versions
   n ls-remote [version]          Output matching versions available for download
   n uninstall                    Remove the installed Node.js
 Options:
 -V, --version         Output version of n
   -h, --help            Display help information
   -p, --preserve        Preserve npm and npx during install of Node.js
   -q, --quiet           Disable curl output (if available)
   -d, --download        Download only
   -a, --arch            Override system architecture
   --all                 ls-remote displays all matches instead of last 20
   --insecure            Turn off certificate checking for https requests (may be needed from behind a proxy server)
   --use-xz/--no-use-xz  Override automatic detection of xz support and enable/disable use of xz compressed node downloads.
 Aliases:
 install: i
   latest: current
   ls: list
   lsr: ls-remote
   lts: stable
   rm: -
   run: use, as
   which: bin
 Versions:
 Numeric version numbers can be complete or incomplete, with an optional leading 'v'.
   Versions can also be specified by label, or codename,
   and other downloadable releases by /
 4.9.1, 8, v6.1    Numeric versions lts               Newest Long Term Support official release latest, current   Newest official release auto              Read version from file: .n-node-version, .node-version, .nvmrc, or package.json engine            Read version from package.json boron, carbon     Codenames for release streams lts_latest        Node.js support aliases and nightly, rc/10 et al

2.2. Zainstaluj wersje Nodejs za pomocą n

Aby zainstalować najnowszą wersję nodejs z n, po prostu uruchom:

n latest

Przykładowe dane wyjściowe:

 installing : node-v16.2.0
        mkdir : /home/ostechnix/.n/n/versions/node/16.2.0
        fetch : https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz
    installed : v16.2.0 (with npm 7.13.0)
 Note: the node command changed location and the old location may be remembered in your current shell.
          old : /home/ostechnix/.nvm/versions/node/v16.1.0/bin/node
          new : /home/ostechnix/.n/bin/node
 To reset the command location hash either start a new shell, or execute PATH="$PATH"

Zainstaluj wersję nodejs z n w systemie Linux

Stara wersja węzła zostanie przeniesiona do nowej lokalizacji, tj. w moim przypadku /home/ostychnix/.n/bin/node. Otwórz nową sesję powłoki lub uruchom ponownie sesję terminala, aby użyć wersji węzła z nowej lokalizacji.

Sprawdź zainstalowaną wersję węzła:

node --version
v16.2.0

Sprawdź wersję npm:

npm -v
7.13.0

Podobnie możesz zainstalować wersję węzła LTS, używając n, jak poniżej:

n lts

Przykładowe dane wyjściowe:

    installing : node-v14.17.0
        mkdir : /home/ostechnix/.n/n/versions/node/14.17.0
        fetch : https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz
    installed : v14.17.0 (with npm 6.14.13)

Możesz także zainstalować konkretną wersję Nodejs, na przykład 16.0.0, używając polecenia:

n 16.0.0

Jak zapewne zauważyłeś, n tworzy osobne katalogi dla każdej wersji węzła. Na przykład tworzy katalog /home/ostychnix/.n/n/versions/node/16.2.0 dla najnowszej wersji węzła, n/versions/node/14.17.0 dla wersji węzła LTS i n/versions/node/16.0.0 dla wersji węzła 16.0.0. Dzięki temu poszczególne wersje nie są ze sobą pomieszane i w każdej chwili możemy przejść na dowolną wersję.

2.3. Pobierz wersje Nodejs, ale nie instaluj

Jeśli nie chcesz instalować wersji Nodejs, a jedynie ją pobrać, użyj opcji -d, --download:

n -d 15.8.0

To polecenie pobierze tylko wersję węzła 15.8.0, ale nie zainstaluje jej.

Przykładowe dane wyjściowe:

 installing : node-v15.8.0
        mkdir : /home/ostechnix/.n/n/versions/node/15.8.0
        fetch : https://nodejs.org/dist/v15.8.0/node-v15.8.0-linux-x64.tar.xz

2.4. Wyświetl listę pobranych lokalnie wersji Nodejs

Aby wyświetlić całą pobraną wersję Nodejs w lokalnej pamięci podręcznej, po prostu uruchom:

n ls

Lub,

n list

Przykładowe dane wyjściowe:

 node/14.17.0
 node/15.8.0
 node/16.0.0
 node/16.2.0

2.5. Wyświetl listę dostępnych wersji Nodejs ze zdalnego repozytorium

Możemy użyć opcji ls-remote, aby wyświetlić 20 ostatnich wersji Nodejs z rejestru npm.

n ls-remote

Lub,

n lsr

Przykładowe dane wyjściowe:

 Listing remote… Displaying 20 matches (use --all to see all).
 16.2.0
 16.1.0
 16.0.0
 15.14.0
 15.13.0
 15.12.0
 15.11.0
 15.10.0
 15.9.0
 15.8.0
 15.7.0
 15.6.0
 15.5.1
 15.5.0
 15.4.0
 15.3.0
 15.2.1
 15.2.0
 15.1.0
 15.0.1

Najnowsza wersja zostanie wyświetlona na górze.

Domyślnie wyświetla listę 20 wersji. Możesz także wyświetlić określoną liczbę wersji węzłów.

n lsr 10

Aby wyświetlić listę wszystkich dostępnych wersji nodejs, użyj opcji --all.

n ls-remote --all

2.6. Wyświetl ścieżkę pobranej wersji Nodejs

Aby wydrukować pełną ścieżkę określonej wersji pobranego węzła, uruchom:

n which node/16.2.0

Przykładowe dane wyjściowe:

/home/ostechnix/.n/n/versions/node/16.2.0/bin/node

2.7. Zmień wersje Nodejs

Ostatnia zainstalowana wersja będzie domyślną wersją węzła. Jeśli chcesz przełączyć się na inną wersję, wpisz n i wybierz wersję z listy pobranych wersji węzłów.

n

To polecenie wyświetli wszystkie pobrane wersje nodejs. Możesz wybrać żądaną wersję za pomocą strzałek w górę/w dół i nacisnąć klawisz ENTER, aby ją zainstalować.

    node/14.17.0
    node/15.8.0
  ο node/16.0.0
    node/16.2.0

 Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

Wersja domyślna jest oznaczona małym kółkiem przed nią.

Jeśli nie chcesz pobierać konkretnej wersji nodejs, po prostu ją wybierz i naciśnij d, aby ją usunąć. Aby wyjść, naciśnij q.

2.8. Uruchom pobraną wersję Nodejs

Jak już wspomniano, ostatnia zainstalowana wersja jest domyślną wersją węzła. Jeśli chcesz uruchomić inną wersję bez ustawiania jej domyślnej, możesz użyć tego polecenia:

n run 15.8.0

Przykładowe dane wyjściowe:

Welcome to Node.js v15.8.0.
 Type ".help" for more information.
  >  

Naciśnij Ctrl+D lub wpisz .exit, aby wyjść z monitu o węzeł.

2.9. Usuń pobrane wersje Nodejs

Wyświetl liczbę wersji węzłów pobranych za pomocą polecenia:

n ls

Aby usunąć konkretną wersję, po prostu podaj jej numer wersji, jak poniżej:

n rm node/16.0.0

Alternatywnie wpisz n, aby wyświetlić dostępne wersje węzłów:

n

Wybierz wersję, którą chcesz usunąć, za pomocą strzałek w górę/w dół i naciśnij d, aby ją usunąć. Należy zachować ostrożność podczas usuwania wersji węzła. Ponieważ nie zostaniesz poproszony o potwierdzenie usunięcia. Po naciśnięciu klawisza d wybrana wersja zniknie.

Aby usunąć wszystkie pobrane wersje z wyjątkiem wersji zainstalowanej, uruchom:

n prune

Aby całkowicie usunąć zainstalowaną wersję Nodejs, uruchom:

n uninstall

Zostaniesz zapytany, czy chcesz usunąć zarówno Node, jak i Npm ze swojego systemu. Wpisz y i naciśnij klawisz ENTER, aby całkowicie usunąć node i npm zainstalowane przez n z Twojego systemu.

 Do you wish to delete node and npm from /home/ostechnix/.n? y
 Uninstalling node and npm
 /home/ostechnix/.n/bin/node
 /home/ostechnix/.n/bin/npm
 /home/ostechnix/.n/bin/npx
 /home/ostechnix/.n/include/node
 /home/ostechnix/.n/lib/node_modules/npm
 /home/ostechnix/.n/share/doc/node
 /home/ostechnix/.n/share/man/man1/node.1
 /home/ostechnix/.n/share/systemtap/tapset/node.stp

Nie spowoduje to jednak usunięcia wersji węzła zainstalowanej przy użyciu NVM lub menedżera pakietów dystrybucyjnych. Usunie tylko te wersje węzłów, które są zainstalowane z n.

Wniosek

Skrypt n będzie pomocny, gdy chcesz użyć innej wersji Nodejs dla innego projektu. Nie musisz usuwać jednej wersji Nodejs i instalować innej dla każdego projektu. Możesz zainstalować wiele wersji Nodejs i natychmiast przełączać się z jednej wersji Nodejs na drugą.

Zasoby:

  • w repozytorium GitHub
  • Skrypt n-instalacyjny Repozytorium GitHub

Powiązane artykuły