GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie NodeJS-Pakete mit Npm

Vor einiger Zeit haben wir eine Anleitung zum Verwalten von Python-Paketen mit PIP veröffentlicht . Heute werden wir besprechen, wie NodeJS-Pakete mit Npm verwaltet werden. NPM ist die größte Softwareregistrierung, die über 600.000 Pakete enthält. Jeden Tag teilen und laden Entwickler auf der ganzen Welt Pakete über npm herunter. In diesem Handbuch werde ich die Grundlagen der Arbeit mit npm erklären, wie das Installieren von Paketen (lokal und global), das Installieren einer bestimmten Version eines Pakets, das Aktualisieren, Entfernen und Verwalten von NodeJS-Paketen und so weiter.

NPM installieren

Da npm in NodeJS geschrieben ist, müssen wir NodeJS installieren, um npm verwenden zu können. Informationen zur Installation von NodeJS auf verschiedenen Linux-Distributionen finden Sie unter folgendem Link.

  • So installieren Sie NodeJS unter Linux

Stellen Sie nach der Installation sicher, dass NodeJS und NPM ordnungsgemäß installiert wurden. Dafür gibt es mehrere Möglichkeiten.

Führen Sie den folgenden Befehl aus, um zu überprüfen, wo der Knoten installiert wurde:

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

Überprüfen Sie die Version:

$ node -v
v9.4.0

Melden Sie sich bei der Knoten-REPL-Sitzung an:

$ 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

Überprüfen Sie, wo npm installiert ist:

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

Und die Version:

$ npm -v
5.6.0

Toll! Node und NPM sind installiert und funktionieren! Wie Sie vielleicht bemerkt haben, habe ich NodeJS und NPM in meinem $HOME-Verzeichnis installiert, um Berechtigungsprobleme bei der globalen Installation von Modulen zu vermeiden. Dies ist die vom NodeJS-Team empfohlene Methode.

Sehen wir uns nun an, wie NodeJS-Module (oder -Pakete) mit npm verwaltet werden.

NodeJS-Pakete mit Npm verwalten

Installieren von NodeJS-Modulen

NodeJS-Module können entweder lokal oder global (systemweit) installiert werden. Jetzt werde ich zeigen, wie man ein Paket lokal installiert.

Pakete lokal installieren

Um Pakete lokal zu verwalten, verwenden wir normalerweise package.json Datei.

Lassen Sie uns zuerst unser Projektverzeichnis erstellen.

$ mkdir demo
$ cd demo

Erstellen Sie eine package.json-Datei im Verzeichnis Ihres Projekts. Führen Sie dazu Folgendes aus:

$ npm init

Geben Sie die Details Ihres Pakets wie Name, Version, Autor, Github-Seite usw. ein oder drücken Sie einfach die EINGABETASTE, um die Standardwerte zu akzeptieren, und geben Sie JA ein zu bestätigen.

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

Der obige Befehl initialisiert Ihr Projekt und erstellt die Datei package.json.

Sie können dies auch nicht interaktiv mit dem Befehl:

tun
$ npm init --y

Dadurch wird schnell eine package.json-Datei mit Standardwerten ohne Benutzerinteraktion erstellt.

Lassen Sie uns nun das Paket namens commander installieren .

$ npm install commander

Beispielausgabe:

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

Dadurch wird ein Verzeichnis namens "node_modules" erstellt (falls noch nicht vorhanden) im Stammverzeichnis des Projekts und laden Sie die darin enthaltenen Pakete herunter.

Lassen Sie uns die Datei package.json überprüfen.

$ 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"
 }
}

Sie werden sehen, dass die Abhängigkeiten hinzugefügt wurden. Das Caretzeichen (^ )-Symbol vor der Versionsnummer zeigt an, dass npm bei der Installation die höchste Version des Pakets abrufen wird, die es finden kann.

$ ls node_modules/
commander

Der Vorteil der Datei „package.json“ besteht darin, dass Sie, wenn Sie die Datei „package.json“ im Verzeichnis Ihres Projekts hatten, einfach „npm install“ eingeben können, dann prüft npm die in der Datei aufgeführten Abhängigkeiten und lädt sie alle herunter. Sie können es sogar mit anderen Entwicklern teilen oder in Ihr GitHub-Repository pushen, sodass sie, wenn sie „npm install“ eingeben, dieselben Pakete erhalten, die Sie haben.

Möglicherweise ist Ihnen auch eine andere JSON-Datei mit dem Namen package-lock.json aufgefallen . Diese Datei stellt sicher, dass die Abhängigkeiten auf allen Systemen, auf denen das Projekt installiert ist, gleich bleiben.

Um das installierte Paket in Ihrem Programm zu verwenden, erstellen Sie eine Datei index.js (oder einen beliebigen Namen Ihrer Wahl) im Verzeichnis des Projekts mit dem tatsächlichen Code und führen Sie ihn dann mit dem Befehl aus:

$ node index.js

Pakete global installieren

Wenn Sie ein Paket als Kommandozeilentool verwenden möchten, ist es besser, es global zu installieren. Auf diese Weise funktioniert es unabhängig davon, welches Verzeichnis Ihr aktuelles Verzeichnis ist.

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

Oder,

$ npm install async --global

Um eine bestimmte Version eines Pakets zu installieren, gehen wir wie folgt vor:

$ npm install [email protected] --global

NodeJS-Module aktualisieren

Wechseln Sie zum Aktualisieren der lokalen Pakete in das Verzeichnis des Projekts, in dem sich die Datei „package.json“ befindet, und führen Sie Folgendes aus:

$ npm update

Führen Sie dann den folgenden Befehl aus, um sicherzustellen, dass alle Pakete aktualisiert wurden.

$ npm outdated

Wenn es kein Update gibt, wird nichts zurückgegeben.

Um herauszufinden, welche globalen Pakete aktualisiert werden müssen, führen Sie Folgendes aus:

$ npm outdated -g --depth=0

Wenn keine Ausgabe erfolgt, werden alle Pakete aktualisiert.

Um ein einzelnes globales Paket zu aktualisieren, führen Sie Folgendes aus:

$ npm update -g <package-name>

Um alle globalen Pakete zu aktualisieren, führen Sie Folgendes aus:

$ npm update -g <package>

NodeJS-Module auflisten

Um die lokalen Pakete aufzulisten, gehen Sie in das Verzeichnis des Projekts und führen Sie Folgendes aus:

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

Wie Sie sehen, habe ich das "Commander"-Paket im lokalen Modus installiert.

Um globale Pakete aufzulisten, führen Sie diesen Befehl von einem beliebigen Ort aus:

$ npm list -g

Beispielausgabe:

/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]
[...]

Dieser Befehl listet alle Module und ihre Abhängigkeiten auf.

Um nur die Module der obersten Ebene aufzulisten, verwenden Sie --depth=0 Möglichkeit:

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

Durchsuchen von NodeJS-Modulen

Um nach einem Modul zu suchen, verwenden Sie den Befehl „npm search“:

npm search <search-string>

Beispiel:

$ npm search request

Dieser Befehl zeigt alle Module an, die den Suchstring "request" enthalten.

NodeJS-Module entfernen

Um ein lokales Paket zu entfernen, gehen Sie in das Verzeichnis des Projekts und führen Sie den folgenden Befehl aus, um das Paket aus Ihren node_modules zu entfernen Verzeichnis:

$ npm uninstall <package-name>

Um es aus den Abhängigkeiten in package.json zu entfernen Datei, verwenden Sie die Speichern Flagge wie unten:

$ npm uninstall --save <package-name>

Um die global installierten Pakete zu entfernen, führen Sie Folgendes aus:

$ npm uninstall -g <package>

NPM-Cache leeren

Standardmäßig speichert NPM die Kopie eines installierten Pakets im Cache-Ordner namens npm in Ihrem $HOME-Verzeichnis, wenn es installiert wird. So können Sie es beim nächsten Mal installieren, ohne es erneut herunterladen zu müssen.

So zeigen Sie die zwischengespeicherten Module an:

$ ls ~/.npm

Der Cache-Ordner wird im Laufe der Zeit mit allen alten Paketen überflutet. Es ist besser, den Cache von Zeit zu Zeit zu leeren.

Ab [email protected] behebt sich der npm-Cache selbst bei Beschädigungsproblemen, und aus dem Cache extrahierte Daten sind garantiert gültig. Wenn Sie sicherstellen möchten, dass alles konsistent ist, führen Sie Folgendes aus:

$ npm cache verify

Um den gesamten Cache zu leeren, führen Sie Folgendes aus:

$ npm cache clean --force

NPM-Konfiguration anzeigen

Um die npm-Konfiguration anzuzeigen, geben Sie Folgendes ein:

$ npm config list

Oder,

$ npm config ls

Beispielausgabe:

; 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.

So zeigen Sie den aktuellen globalen Standort an:

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

Und das ist alles für jetzt. Was wir hier gerade behandelt haben, sind nur die Grundlagen. NPM ist ein weites Feld. Weitere Einzelheiten finden Sie in den NPM-Erste Schritte Anleitung.


Linux
  1. So installieren Sie Pip, um PyPI-Pakete einfach zu verwalten

  2. Raspberry Pi Firewall:So installieren und verwalten Sie sie mit UFW

  3. So verwenden Sie den apt-Befehl zum Verwalten von Paketen in Linux

  4. So verwalten Sie Protokolldateien mit Logrotate unter Linux

  5. Gewusst wie:Verwenden von Bundler zum Verwalten von Ruby Gems

So verwalten Sie AWS Cloudwatch mit aws-cli

So installieren und verwalten Sie Pakete auf CentOS mit RPM

So verwalten Sie Nodejs-Versionen mit n in Linux

So verwalten Sie Python-Pakete mit PIP

So installieren Sie Pakete sicher mit Npm oder Yarn unter Linux

So installieren Sie die neuesten NodeJS und NPM unter Linux