GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat balíčky NodeJS pomocí Npm

Před chvílí jsme publikovali průvodce správou balíčků Pythonu pomocí PIP . Dnes budeme diskutovat o tom, jak spravovat balíčky NodeJS pomocí Npm. NPM je největší softwarový registr, který obsahuje více než 600 000 balíčků. Každý den vývojáři z celého světa sdílejí a stahují balíčky prostřednictvím npm. V této příručce vysvětlím základy práce s npm, jako je instalace balíčků (lokálně a globálně), instalace určité verze balíčku, aktualizace, odstranění a správa balíčků NodeJS a tak dále.

Instalace NPM

Protože npm je napsán v NodeJS, musíme nainstalovat NodeJS, abychom mohli používat npm. Chcete-li nainstalovat NodeJS na různé distribuce Linuxu, přejděte na následující odkaz.

  • Jak nainstalovat NodeJS na Linux

Po instalaci se ujistěte, že NodeJS a NPM byly správně nainstalovány. Existuje několik způsobů, jak to udělat.

Chcete-li zkontrolovat, kde byl uzel nainstalován, spusťte následující příkaz:

$ which node
/home/sk/.nvm/versions/node/v9.4.0/bin/node

Zkontrolujte jeho verzi:

$ node -v
v9.4.0

Přihlaste se k relaci Node REPL:

$ node
> .help
.break Sometimes you get stuck, this gets you out
.clear Alias for .break
.editor Enter editor mode
.exit Exit the repl
.help Print this help message
.load Load JS from a file into the REPL session
.save Save all evaluated commands in this REPL session to a file
> .exit

Zkontrolujte, kde je nainstalován npm:

$ which npm
/home/sk/.nvm/versions/node/v9.4.0/bin/npm

A verze:

$ npm -v
5.6.0

Skvělý! Uzel a NPM byly nainstalovány a fungují! Jak jste si možná všimli, nainstaloval jsem NodeJS a NPM do svého $HOME adresáře, abych se vyhnul problémům s oprávněními při globální instalaci modulů. Toto je metoda doporučená týmem NodeJS.

Pojďme se podívat, jak spravovat moduly (nebo balíčky) NodeJS pomocí npm.

Správa balíčků NodeJS pomocí Npm

Instalace modulů NodeJS

Moduly NodeJS lze nainstalovat lokálně nebo globálně (v rámci celého systému). Nyní ukážu, jak nainstalovat balíček lokálně.

Instalujte balíčky místně

K místní správě balíčků běžně používáme package.json soubor.

Nejprve si vytvořte adresář projektu.

$ mkdir demo
$ cd demo

Vytvořte soubor package.json v adresáři vašeho projektu. Chcete-li to provést, spusťte:

$ npm init

Zadejte podrobnosti o svém balíčku, jako je název, verze, autor, stránka github atd., nebo stačí stisknout klávesu ENTER pro přijetí výchozích hodnot a napsat YES pro potvrzení.

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (demo) 
version: (1.0.0) 
description: demo nodejs app
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/sk/demo/package.json:

{
 "name": "demo",
 "version": "1.0.0",
 "description": "demo nodejs app",
 "main": "index.js",
 "scripts": {
 "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
 "license": "ISC"
}

Is this ok? (yes) yes

Výše uvedený příkaz inicializuje váš projekt a vytvoří soubor package.json.

Můžete to také provést neinteraktivně pomocí příkazu:

$ npm init --y

Tím se rychle vytvoří soubor package.json s výchozími hodnotami bez zásahu uživatele.

Nyní nainstalujme balíček s názvem velitel .

$ npm install commander

Ukázkový výstup:

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No repository field.

+ [email protected]
added 1 package in 2.519s

Tím se vytvoří adresář s názvem "node_modules" (pokud již neexistuje) v kořenovém adresáři projektu a stáhněte si balíčky v něm.

Pojďme zkontrolovat soubor package.json.

$ cat package.json 
{
 "name": "demo",
 "version": "1.0.0",
 "description": "demo nodejs app",
 "main": "index.js",
 "scripts": {
 "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
 "license": "ISC",
 "dependencies": {
 "commander": "^2.13.0"
 }
}

Uvidíte, že byly přidány závislosti. Stříška (^ ) symbol na začátku čísla verze označuje, že při instalaci npm stáhne nejvyšší verzi balíčku, kterou najde.

$ ls node_modules/
commander

Výhodou souboru package.json je, že pokud jste měli soubor package.json v adresáři svého projektu, stačí napsat "npm install", pak npm prohlédne závislosti uvedené v souboru a stáhne je všechny. Můžete jej dokonce sdílet s ostatními vývojáři nebo jej vložit do svého úložiště GitHub, takže když zadají „npm install“, dostanou všechny stejné balíčky, jaké máte vy.

Můžete si také všimnout dalšího souboru json s názvem package-lock.json . Tento soubor zajišťuje, že závislosti zůstanou stejné na všech systémech, na kterých je projekt nainstalován.

Chcete-li použít nainstalovaný balíček ve svém programu, vytvořte soubor index.js (nebo libovolný název dle vašeho výběru) v adresáři projektu se skutečným kódem a poté jej spusťte pomocí příkazu:

$ node index.js

Instalujte balíčky globálně

Pokud chcete balíček používat jako nástroj příkazového řádku, je lepší jej nainstalovat globálně. Tímto způsobem to funguje bez ohledu na to, který adresář je vaším aktuálním adresářem.

$ npm install async -g
+ [email protected]
added 2 packages in 4.695s

Nebo,

$ npm install async --global

Chcete-li nainstalovat konkrétní verzi balíčku, provedeme:

$ npm install [email protected] --global

Aktualizace modulů NodeJS

Chcete-li aktualizovat místní balíčky, přejděte do adresáře projektu, kde je umístěn soubor package.json, a spusťte jej:

$ npm update

Poté spusťte následující příkaz, abyste se ujistili, že všechny balíčky byly aktualizovány.

$ npm outdated

Pokud není žádná aktualizace, nevrací nic.

Chcete-li zjistit, které globální balíčky je třeba aktualizovat, spusťte:

$ npm outdated -g --depth=0

Pokud neexistuje žádný výstup, pak jsou aktualizovány všechny balíčky.

Chcete-li aktualizovat jeden globální balíček, spusťte:

$ npm update -g <package-name>

Chcete-li aktualizovat všechny globální balíčky, spusťte:

$ npm update -g <package>

Výpis modulů NodeJS

Chcete-li zobrazit seznam místních balíčků, přejděte do adresáře projektu a spusťte:

$ npm list
[email protected] /home/sk/demo
└── [email protected]

Jak vidíte, nainstaloval jsem balíček "commander" v místním režimu.

Chcete-li vypsat globální balíčky, spusťte tento příkaz z libovolného umístění:

$ npm list -g

Ukázkový výstup:

/home/sk/.nvm/versions/node/v9.4.0/lib
├─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
[...]

Tento příkaz zobrazí seznam všech modulů a jejich závislostí.

Chcete-li uvést pouze moduly nejvyšší úrovně, použijte --depth=0 možnost:

$ npm list -g --depth=0
/home/sk/.nvm/versions/node/v9.4.0/lib
├── [email protected]
└── [email protected]

Vyhledávání modulů NodeJS

Chcete-li vyhledat modul, použijte příkaz "npm search":

npm search <search-string>

Příklad:

$ npm search request

Tento příkaz zobrazí všechny moduly, které obsahují hledaný řetězec "request".

Odebrání modulů NodeJS

Chcete-li odebrat místní balíček, přejděte do adresáře projektu a spusťte následující příkaz k odstranění balíčku z vašich node_modules adresář:

$ npm uninstall <package-name>

Chcete-li jej odstranit ze závislostí v package.json soubor, použijte uložit příznak jako níže:

$ npm uninstall --save <package-name>

Chcete-li odebrat globálně nainstalované balíčky, spusťte:

$ npm uninstall -g <package>

Čištění mezipaměti NPM

Ve výchozím nastavení NPM při instalaci uchovává kopii nainstalovaného balíčku ve složce mezipaměti s názvem npm v adresáři $HOME. Příště si ji tedy můžete nainstalovat, aniž byste ji museli znovu stahovat.

Chcete-li zobrazit moduly uložené v mezipaměti:

$ ls ~/.npm

Složka mezipaměti se časem zahltí všemi starými balíčky. Je lepší čas od času vyčistit mezipaměť.

Od [email protected] se mezipaměť npm sama léčí z problémů s poškozením a data extrahovaná z mezipaměti jsou zaručena jako platná. Pokud se chcete ujistit, že je vše konzistentní, spusťte:

$ npm cache verify

Chcete-li vymazat celou mezipaměť, spusťte:

$ npm cache clean --force

Zobrazení konfigurace NPM

Chcete-li zobrazit konfiguraci npm, zadejte:

$ npm config list

Nebo,

$ npm config ls

Ukázkový výstup:

; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.6.0 node/v9.4.0 linux x64"

; node bin location = /home/sk/.nvm/versions/node/v9.4.0/bin/node
; cwd = /home/sk
; HOME = /home/sk
; "npm config ls -l" to show all defaults.

Zobrazení aktuální globální polohy:

$ npm config get prefix
/home/sk/.nvm/versions/node/v9.4.0

A to je zatím vše. To, co jsme zde právě probrali, jsou jen základy. NPM je rozsáhlé téma. Další podrobnosti najdete v NPM Začínáme průvodce.


Linux
  1. Jak nainstalovat pip pro snadnou správu balíčků PyPI

  2. Jak používat příkaz apt ke správě balíčků v systému Linux

  3. Jak graficky spravovat oprávnění Flatpak pomocí Flatseal

  1. Raspberry Pi Firewall:Jak jej nainstalovat a spravovat pomocí UFW

  2. Jak sestavit balíčky ze zdroje pomocí CheckInstall

  3. Jak nainstalovat npm v alpine linux

  1. Jak spravovat soubory protokolu pomocí Logrotate v Linuxu

  2. Jak nainstalovat balíčky Npm v Nixos?

  3. Jak na to:Použití Bundleru ke správě Ruby Gems