Tato příručka vám poskytuje stručný úvod do "n" , neoficiální nástroj pro správu verzí uzlů a poté vysvětluje, jak snadno spravovat verze nodejs pomocí n v operačních systémech Linux.
Co je n, správce verzí uzlu?
NodeJS nevyžaduje úvod. Nodejs je běhové prostředí pro JavaScript postavené na enginu V8 společnosti Google. Nodejs přichází s vestavěným správcem balíčků s názvem npm
k instalaci a správě verzí uzlů a existuje také mnoho nástrojů třetích stran pro správu verzí uzlů. n je jedním z nástrojů pro správu verzí uzlů třetí strany. Ano, je to jen jedno písmeno - n.
n je interaktivní správce verzí uzlů pro snadnou správu jedné nebo více verzí NodeJS! Žádné dílčí shelly, žádné nastavení profilu, žádné spletité API, žádná křivka učení, je to prostě jednoduché nářadí. Je to pouze shell skript a jeho kód je volně dostupný na GitHubu.
1. Nainstalujte n v Linuxu
Nejjednodušší způsob instalace n je přes npm
. Jak již bylo řečeno, Npm je vestavěný správce balíčků pro Nodejs a je dodáván s předinstalovaným Nodejs.
Předpokládám, že na svém linuxovém stroji již máte nejnovější Nodejs. Pokud jste ještě nenainstalovali NodeJS, postupujte podle následujícího průvodce:
- Jak nainstalovat NodeJS na Linux
Dále spusťte následující příkaz pro instalaci n v Linuxu:
$ npm install -g n
Pokud npm není k dispozici nebo nechcete instalovat n pomocí npm, můžete přímo chytit skript n z GitHubu a nainstalovat jej následovně:
$ curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
$ bash n lts
Tím se nainstalují oba node
Verze a npm
.
1.2. Vytvořte domovský adresář pro instalaci uzlu
Ve výchozím nastavení n instaluje node
pod n/versions
podadresář /usr/local/
adresář, který je definován v N_PREFIX
proměnná prostředí. Jak již víte, vyžadujeme sudo
oprávnění k instalaci uzlu pod /usr/local/n/versions/node/
adresář. Chcete-li se vyhnout použití sudo
, můžete vytvořit vyhrazený adresář pro instalaci uzlů v $HOME a přidat je do PATH
.
Chcete-li vytvořit domovský adresář pro instalaci uzlu, upravte soubor svého uživatelského profilu, například ~/.bashrc
:
$ vi ~/.bashrc
Přidejte následující řádky:
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Stiskněte ESC
a zadejte :wq
pro uložení souboru a ukončení.
1.3. Nainstalujte n pomocí skriptu n-install
Další způsob instalace n je pomocí n-install skript, který nainstaluje n přímo z GitHubu.
$ curl -L https://git.io/n-install | bash
Tento příkaz provede následující sadu úkolů:
- Nejprve nastaví obě
PREFIX
aN_PREFIX
na$HOME/n
; - A nainstaluje
n
do$HOME/n/bin
; - Dále upraví inicializační soubory podporovaných shellů tak, aby exportovaly
N_PREFIX
; - Potom přidá
$HOME/n/bin
naPATH
; - Nakonec nainstaluje nejnovější verzi LTS Node.js.
2. Spravujte verze nodejs pomocí n v Linuxu
Instalace a správa verzí nodejs s n je docela snadná! Podívejme se na několik příkladů.
2.1. Získání nápovědy
Pokud s n začínáte, pravděpodobně bude dobrý nápad vyvolat sekci nápovědy a naučit se používat n.
Chcete-li zobrazit nápovědu k n, jednoduše spusťte:
$ n --help
Projděte si nápovědu a získejte letmý pohled na použití jednotlivých příkazů.
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. Nainstalujte verze Nodejs pomocí n
Chcete-li nainstalovat nejnovější verzi nodejs pomocí n
, jednoduše spusťte:
$ n latest
Ukázkový výstup:
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"
Stará verze uzlu bude přesunuta do nového umístění, tj. /home/ostechnix/.n/bin/node
v mém případě. Otevřete novou relaci prostředí nebo restartujte relaci terminálu, abyste mohli použít verzi uzlu z nového umístění.
Zkontrolujte nainstalovanou verzi uzlu:
$ node --version v16.2.0
Zkontrolujte verzi npm:
$ npm -v 7.13.0
Podobně můžete nainstalovat verzi uzlu LTS pomocí n jako níže:
$ n lts
Ukázkový výstup:
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)
Můžete také nainstalovat konkrétní verzi Nodejs, například 16.0.0
pomocí příkazu:
$ n 16.0.0
Jak jste si možná všimli, n vytváří samostatné adresáře pro každou verzi uzlu. Například vytvoří /home/ostechnix/.n/n/versions/node/16.2.0
adresář pro nejnovější verzi uzlu, n/versions/node/14.17.0
pro verzi uzlu LTS a n/versions/node/16.0.0
pro uzel verze 16.0.0. Tímto způsobem zachovává, že se jednotlivé verze vzájemně nemíchají a my můžeme kdykoli přejít na jakoukoli verzi.
2.3. Stáhněte si verze Nodejs, ale neinstalujte
Pokud nechcete instalovat verzi Nodejs, ale chcete si ji pouze stáhnout, použijte -d
, --download
možnost:
$ n -d 15.8.0
Tento příkaz pouze stáhne verzi uzlu 15.8.0, ale nenainstaluje ji.
Ukázkový výstup:
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. Seznam místně stažených verzí Nodejs
Chcete-li zobrazit všechny stažené verze Nodejs v místní mezipaměti, jednoduše spusťte:
$ n ls
Nebo,
$ n list
Ukázkový výstup:
node/14.17.0 node/15.8.0 node/16.0.0 node/16.2.0
2.5. Seznam dostupných verzí Nodejs ze vzdáleného úložiště
Můžeme použít ls-remote
možnost zobrazit posledních 20 verzí Nodejs z registru npm .
$ n ls-remote
Nebo,
$ n lsr
Ukázkový výstup:
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
Nejnovější verze se zobrazí nahoře.
Ve výchozím nastavení uvádí 20 verzí. Můžete také zobrazit určitý počet verzí uzlů.
$ n lsr 10
Chcete-li zobrazit všechny dostupné verze nodejs, použijte --all
možnost.
$ n ls-remote --all
2.6. Zobrazte cestu ke stažené verzi Nodejs
Chcete-li vytisknout úplnou cestu ke konkrétní stažené verzi uzlu, spusťte:
$ n which node/16.2.0
Ukázkový výstup:
/home/ostechnix/.n/n/versions/node/16.2.0/bin/node
2.7. Přepnout verze Nodejs
Poslední nainstalovaná verze bude výchozí verzí uzlu. Pokud chcete přejít na jinou verzi, napište n
a vyberte verzi ze seznamu stažených verzí uzlů.
$ n
Tento příkaz zobrazí všechny stažené verze nodejs. Můžete si vybrat požadovanou verzi pomocí šipek nahoru/dolů a stisknutím klávesy ENTER ji nainstalovat.
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
Výchozí verze je označena malým kroužkem před ní.
Pokud nechcete konkrétní staženou verzi nodejs, jednoduše ji vyberte a stiskněte d
smazat to. Pro ukončení stiskněte q
.
2.8. Spusťte staženou verzi Nodejs
Jak již bylo uvedeno, poslední nainstalovaná verze je výchozí verzí uzlu. Pokud chcete spustit jinou verzi, aniž byste ji nastavili jako výchozí, můžete použít tento příkaz:
$ n run 15.8.0
Ukázkový výstup:
Welcome to Node.js v15.8.0. Type ".help" for more information. >
Stiskněte Ctrl+D
nebo zadejte .exit
pro ukončení výzvy uzlu.
2.9. Odebrat stažené verze Nodejs
Vypište, kolik verzí uzlů je staženo pomocí příkazu:
$ n ls
Chcete-li odebrat konkrétní verzi, stačí uvést její číslo verze, jak je uvedeno níže:
$ n rm node/16.0.0
Případně zadejte n
k zobrazení dostupných verzí uzlů:
$ n
Pomocí šipek nahoru/dolů vyberte verzi, kterou chcete odstranit, a stiskněte d
smazat to. Při odstraňování verze uzlu musíte být opatrní. Protože nebudete vyzváni k potvrzení smazání. Jakmile stisknete d
tlačítkem vybraná verze zmizí.
Chcete-li odebrat všechny stažené verze kromě nainstalované verze, spusťte:
$ n prune
Chcete-li zcela odebrat nainstalovanou verzi Nodejs, spusťte:
$ n uninstall
Budete dotázáni, zda chcete ze systému odstranit Node i Npm. Zadejte y
a stiskněte ENTER
klíč pro úplné odstranění node
a npm
nainstalován n
z vašeho systému.
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
To však neodstraní verzi uzlu nainstalovanou pomocí NVM nebo vašeho správce distribučních balíčků. Odebere pouze verze uzlů, které jsou nainstalovány s n.
Závěr
Skript n bude užitečný, když chcete použít jinou verzi Nodejs pro jiný projekt. Pro každý projekt nemusíte odstraňovat jednu verzi Nodejs a instalovat jinou. Můžete nainstalovat více verzí Nodejs a okamžitě přejít z jedné verze Nodejs na druhou.