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 nJeś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 nbash n ltsSpowoduje 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 ~/.bashrcDodaj następujące linie:
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATHNaciś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 | bashTo polecenie wykona następujący zestaw zadań:
- Najpierw ustawia zarówno
PREFIX, jak iN_PREFIXna$HOME/n; - I instaluje
nw$HOME/n/bin; - Następnie modyfikuje pliki inicjujące obsługiwanych powłok, aby wyeksportować
N_PREFIX; - Następnie dodaje
$HOME/n/bindoPATH; - 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 --helpPrzejrzyj 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 al2.2. Zainstaluj wersje Nodejs za pomocą n
Aby zainstalować najnowszą wersję nodejs z n, po prostu uruchom:
n latestPrzykł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.0Sprawdź wersję npm:
npm -v
7.13.0
Podobnie możesz zainstalować wersję węzła LTS, używając n, jak poniżej:
n ltsPrzykł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.0Jak 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.0To 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.xz2.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 lsLub,
n listPrzykładowe dane wyjściowe:
node/14.17.0
node/15.8.0
node/16.0.0
node/16.2.02.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-remoteLub,
n lsrPrzykł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.1Najnowsza 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 10Aby wyświetlić listę wszystkich dostępnych wersji nodejs, użyj opcji --all.
n ls-remote --all2.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.0Przykładowe dane wyjściowe:
/home/ostechnix/.n/n/versions/node/16.2.0/bin/node2.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.
nTo 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 quitWersja 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.0Przykł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 lsAby usunąć konkretną wersję, po prostu podaj jej numer wersji, jak poniżej:
n rm node/16.0.0Alternatywnie wpisz n, aby wyświetlić dostępne wersje węzłów:
nWybierz 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 pruneAby całkowicie usunąć zainstalowaną wersję Nodejs, uruchom:
n uninstallZostaniesz 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.stpNie 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

