NPM: JavaScript-Pakete verwalten

Einführung NPM

Was ist NPM?NPM (Node Package Manager) ist ein Paketmanager für JavaScript, es ist der Standard für node.js. Bei der Installation wird auch Node NPM installiert. Und was bedeutet das? Nun, über NPM können wir die Pakete für unsere Anwendungen installieren und verwalten.

Wenn wir Node.js verwenden, müssen wir schnell neue Module (Bibliotheken) installieren, da Node als stark modulares System praktisch leer ist. Für die meisten Operationen müssen wir also zusätzliche Module installieren. Dieser Vorgang wird mit dem NPM-Tool sehr einfach durchgeführt.

Wie installiere ich Node.js?Um Node.js zu installieren, müssen wir als erstes die offizielle Website aufrufen:

https://nodejs.org/

Und laden Sie das Installationsprogramm gemäß unserem Betriebssystem herunter.

VERGRÖSSERN

Beim Herunterladen der Installationsdatei doppelklicken wir einfach darauf und folgen den Anweisungen des Node.js-Installationsassistenten.

Nach der Installation für Windows-Benutzer ist die node.js-Konsole über die Startleiste zugänglich, wie in der folgenden Abbildung gezeigt:

VERGRÖSSERN

Mac-Benutzer müssen das Terminal ihres Betriebssystems öffnen, wie in der folgenden Abbildung gezeigt:

VERGRÖSSERN

Um zu überprüfen, ob es richtig installiert ist, führen wir den folgenden Befehl in unserem Terminal aus:

 Gib nicht
(Windows / Linux / Terminal OS X-Konsole)

Wir drücken Eintreten und wir geben folgende Zeile ein:

 Console.log ('Node.js wurde erfolgreich installiert');
(Windows / Linux / Terminal OS X-Konsole)

Durch Drücken Eintreten, es wird uns die Nachricht zeigen "Node.js erfolgreich installiert". Um die Liste der von node.js erlaubten Befehle anzuzeigen, geben wir den Befehl ein .Hilfe wie im folgenden Bild gezeigt:

Um die anzuzeigen NPM-Version installiert, führen wir den folgenden Befehl aus:

 npm -v
Was zu folgendem führt:

Paket-Manager
Das NPM-Paketmanager, unterscheidet sich ein wenig von anderen Paketmanagern, die wir vielleicht kennen, da sie diese lokal in den Projekten installiert. Das heißt, wenn ein Modul heruntergeladen wird, wird es zu einem lokalen Projekt hinzugefügt, in dem es enthalten ist. Es besteht aber auch die Möglichkeit, die Pakete global auf unserem System zu installieren.

Ein neues Projekt starten

Wenn wir ein neues Projekt mit node.js starten, müssen wir eine Datei namens package.json erstellen. Dies ist eine Art Manifest, das wiederum die Liste aller Abhängigkeiten enthält, die Ihr Projekt verwenden wird.

Gebrauch von Paket.json


Die beste Möglichkeit, lokal installierte Pakete zu verwalten, besteht darin, eine package.json-Datei zu erstellen. Dies ermöglicht uns:
  • Dokumentieren Sie, welche Pakete unser Projekt verwendet.
  • Geben Sie an, welche spezifische Paketversion unser Projekt verwenden wird.
  • Es ermöglicht uns, unsere Abhängigkeiten einfach mit anderen Entwicklern zu teilen.

Anforderungen:

Eine package.json-Datei muss mindestens Folgendes enthalten:

1. Name:

  • Alles in Kleinbuchstaben.
  • Ein Wort ohne Leerzeichen.
  • Bindestrich und Unterstrich sind erlaubt.

2. Ausführung:

Beispiel für eine package.json:

 {"Name": "project_package", "Version": "1.0.0"}
Wenn Sie ein neues generieren möchten Paket.json, es gibt 2 Möglichkeiten, dies zu tun:

1. Laden Sie eine standardmäßige package.json: Von der Konsole führen wir die folgende Befehlszeile aus.

 npm init --ja
Was zu folgendem führt:

Um diese Konfiguration zu ändern, öffnen wir einfach die mit einem Texteditor erstellte Datei und ändern die gewünschten Attribute.

2. Erstellen Sie eine package.json mit dem Assistenten: In der Konsole führen wir den folgenden Befehl aus.

 npm init
Der Assistent fragt Sie, was Sie jedem Attribut hinzufügen möchten, was zu folgendem Ergebnis führt:

Abhängigkeiten installieren


Auf der Website https://www.npmjs.com/ finden Sie Hunderte von Projekten; die nach unterschiedlichen Kriterien (Anzahl Downloads, Popularität …) positioniert sind. Von der Webseite aus ist dies der schnellste Weg, NPM verfügt jedoch auch über einen Suchparameter, um nach Paketen zu suchen. Dazu müssen Sie die folgende Befehlszeile ausführen:

Lokale Installation
Sobald die Datei definiert ist Paket.json, können Sie die Abhängigkeiten darin hinzufügen und eine Liste mit allem hinzufügen, was Sie benötigen:

 "Abhängigkeiten": {"express": "*", "grunt": "*", "bower": "*"}
Welches sollte wie folgt sein:

Installieren Sie die in package.json aufgelisteten PaketeUm die in package.json aufgelisteten Pakete und deren Abhängigkeiten zu installieren, müssen Sie sich in dem Verzeichnis befinden, in dem sich die Datei befindet, und die folgende Befehlszeile ausführen:

 npm installieren

Pakete installierenDu kannst auch Installieren Sie neue Pakete und speichern Sie sie vom Terminal, indem Sie Folgendes ausführen:

 npm install --save new_package_name

Pakete deinstallierenPaket deinstallieren und lösche es aus Paket.json:

 npm deinstallieren --save Paketname

Installieren Sie das Paket direkt aus einem Git-Repository

 npm install git: //github.com/blured/mipaquete.git

Installieren Sie eine bestimmte Version eines Pakets

 npm install [email protected]

Beachten Sie, dass diese lokale Installationsmethode bedeutet, dass Ihre Dateien nur in Ihrem Projektverzeichnis gespeichert und verfügbar sind.

Globale Installation
Eine andere Möglichkeit, Pakete zu installieren, besteht darin, dies global zu tun. Dies wird häufig für Pakete verwendet, die Funktionen von der Befehlszeile aus bereitstellen, wie unter anderem grunt, bower, yeoman.

Nehmen Sie zum Beispiel die JSHint-Paket, ein JavaScript-Code-Analysator, mit dem wir Punkte anzeigen können, an denen Ihr Code bestimmte etablierte Regeln für "sauberen Code" nicht erfüllt. Um es global zu installieren, führen wir das Befehl installieren das hinzufügen -g Attribut und mit Root-Rechte (für Mac- und Linux-Benutzer).

 sudo npm install -g jshint
 npm install -g jshint

Um die Installation zu bestätigen, führen Sie einfach den Befehl aus, um eine JavaScript-Datei auf Fehler zu überprüfen. Da unsere Installation global war, können wir von jedem Ort aus Jshint ausführen und den Pfad angeben, in dem sich unsere JavaScript-Datei befindet. Beispiel:

 jshint-Projekt \ MiApp \ www \ js \ index.js
Dies führte zu einem Fehler in unserer JavaScript-Datei.

Um den Ordner zu kennen, in dem all diese Bibliotheken mit globalem Geltungsbereich gespeichert sind, können wir die Präfix-Befehl und von der Markierung global -g, wie folgt:

 npm-Präfix -g
In einem OS X-Terminal wird das folgende Ergebnis angezeigt:

In der CWindows-Eingabeaufforderung der Pfad wird angezeigt, wobei als einzige Variable der Name des Ordners des Benutzers angezeigt wird, der die Installation durchgeführt hat. In diesem Fall wäre es "Schock":

In Windows hat NodeJS den vorherigen Ordner nicht als global definiert, um seine Bibliotheken über require einzuschließen. Wenn wir also versuchen, eine globale Bibliothek einzubinden, erhalten wir die Fehlermeldung "Fehler: Modul kann nicht gefunden werden".

Um es zu lösen, müssen wir die Systemvariable NODE_PATH definieren, ihr den Wert des globalen Pfads von NPM geben und am Ende den Ordner \ node_modules \ hinzufügen.

Wie wir sehen, lautet der globale Installationspfad von NPM in Windows 7:

 C: \ Benutzer \ BENUTZER \ AppData \ Roaming \ npm \
Der Wert von NODE_PATH ist also:
 C:\Benutzer\BENUTZER\AppData\Roaming\npm\node_modules\
Oder was ist gleich:
 % APPDATA% \ npm \ node_modules \

VERGRÖSSERN

Abhängigkeitsmanagement
Mit NPM können Sie die Abhängigkeiten Ihrer Projekte und die benötigten Versionen verwalten. Open-Source-Projekte bewegen sich bekanntlich aktiv und ändern häufig ihre Version. Das Paket.json es kann so konfiguriert werden, dass diese Arten von Änderungen gesteuert werden.

Das Versionsnummern Sie enthalten normalerweise 3 Elemente:

  • Hauptversion, wenn sie mit früheren Funktionalitäten bricht, zum Beispiel: 2.0.0
  • Nebenversion mit neuen Funktionen, die bestehende nicht beeinträchtigen, zum Beispiel: 1.1.0
  • Patch mit Fehlerbehebungen und anderen kleineren Änderungen veröffentlicht, zum Beispiel 1.0.1

Paketversionen definieren


Nehmen wir an, Sie beginnen mit der Entwicklung mit bestimmten Versionen von Paketen. Sie können sie aktualisieren und dennoch die Kompatibilität beibehalten, indem Sie den Bereich der akzeptierten Änderungen angeben.
 "dependencies": {"Package1": "1.0.0", // akzeptiert nur Version 1.0.0 "container2": "1.0.x", // jede Hotfix-Version in Version 1.0 "Package3": "* ", / / neueste Version," Package4 "wird nicht empfohlen:"> = 1.0.0 ", // Änderungen nach 1.0.0" package5 ":" = 1.8.0 = 1.1.0 <2.0.0 "package8": "latest" , // Name der neuesten Version des Tags "package9": "", // wie * dh neueste Version "packageX": "= 2.3.1 = 2.5.2 <3.0.0" }
NotizWenn Sie sich nicht sicher sind, welche Version Sie verwenden sollen, fügen Sie den Platzhalter * hinzu und führen Sie den Befehl npm update -save aus, den wir später in diesem Tutorial sehen werden.

Befehl:

 npm-Update --save

Pakete aktualisieren


Um alle lokal installierten Pakete anzuzeigen, verwenden Sie den Befehl ls und fügen Sie das Attribut -l für eine kurze Beschreibung hinzu. Um global installierte Pakete anzuzeigen, fügen Sie das Attribut -g hinzu.
 npm ls -l
Um zu überprüfen, welches Paket lokal und global aktualisiert werden kann, führen Sie Folgendes aus:
 npm veraltet npm veraltet -g --depth = 0
Um ein Paket lokal auf eine höhere Version als die aktuelle zu bringen, führen Sie Folgendes aus:
 npm-Update
Um dies global zu tun, fügen Sie das -g Attribut

Cache verwalten


Wenn NPM ein Paket installiert, behält es eine Kopie für das nächste Mal, wenn Sie das Paket installieren möchten, ohne dass eine Internetverbindung erforderlich ist. Diese Kopien werden standardmäßig im folgenden Verzeichnis gespeichert:
 Posix (Linux, OS X…): ~ / .npm Windows:% AppData% / npm-cache
Wenn Sie sehen möchten, in welchem ​​Verzeichnis der NPM-Cache gespeichert ist, führen Sie einfach die folgende Befehlszeile aus:
 npm config Cache abrufen
Dieses Verzeichnis ist normalerweise mit alten Paketen gefüllt, die wir nicht mehr verwenden, daher wird empfohlen, regelmäßig mit der folgenden Befehlszeile zu bereinigen:
 npm-Cache bereinigen

wave wave wave wave wave