Heim > Web-Frontend > js-Tutorial > npm vs. npx: Was ist der Unterschied?

npm vs. npx: Was ist der Unterschied?

Patricia Arquette
Freigeben: 2024-12-20 15:57:19
Original
754 Leute haben es durchsucht

Geschrieben von Fimber Elemuwa✏️

Wenn Sie mit JavaScript oder Node.js arbeiten, sind Sie wahrscheinlich schon auf npm gestoßen, den Node Package Manager. Es ist das ideale Tool zum Verwalten von Paketen, zum Installieren von Abhängigkeiten und zum Sicherstellen, dass Ihr Projekt mit den benötigten Bibliotheken auf dem neuesten Stand bleibt. Aber dann gibt es noch npx, ein weiteres mit npm gebündeltes Tool, das oft die Frage aufwirft: Was ist der Unterschied zwischen den beiden?

Auf den ersten Blick scheinen sowohl npm als auch npx Ihnen bei der Interaktion mit Node.js-Paketen zu helfen, aber sie dienen unterschiedlichen Zwecken. In diesem Artikel werden wir die wichtigsten Unterschiede zwischen npm und npx aufschlüsseln, Ihnen zeigen, wie sie funktionieren, und untersuchen, wann die einzelnen Elemente verwendet werden sollten.

Egal, ob Sie ein neues Projekt einrichten, ein Skript ausführen oder einfach nur wissen möchten, wann Sie npm im Vergleich zu npx verwenden sollten, dieser Leitfaden hilft Ihnen dabei, beide Tools zu verstehen und herauszufinden, wie sie in Ihren Entwicklungsworkflow passen.

Was ist npm?

npm steht für Node Package Manager und ist genau das, wonach es klingt – ein Tool zum Verwalten von Node.js-Paketen. Jedes Mal, wenn Sie ein neues „Paket“ für Ihr Projekt benötigen, wenden Sie sich an npm, um es bei der Installation zu unterstützen. Diese Pakete können von kleinen Hilfsfunktionen bis hin zu vollwertigen Frameworks und Bibliotheken reichen.

Aber npm dient nicht nur der Installation von Bibliotheken. Es eignet sich auch hervorragend zum Verwalten von Projektabhängigkeiten und Skripten. Wenn Sie bestimmte Versionen einer Bibliothek sperren müssen, um Breaking Changes zu verhindern, ist npm genau das Richtige für Sie. Außerdem können Sie in Ihrer package.json-Datei Skripts definieren, um allgemeine Aufgaben wie das Testen oder Erstellen Ihres Projekts zu automatisieren.

So funktioniert npm

Stellen Sie sich npm als einen digitalen Speicher für Softwarekomponenten vor. Wenn Sie ein neues Node.js-Projekt starten, benötigen Sie verschiedene Tools und Bibliotheken, um es zu erstellen. Anstatt das Rad neu zu erfinden, können Sie npm verwenden, um diese vorgefertigten Pakete abzurufen und zu installieren. Es funktioniert durch die Verwaltung einer umfangreichen Online-Registrierung von Paketen, jedes mit seinem eindeutigen Namen und seiner eindeutigen Version.

Wenn Sie den Befehl „npm install“ verwenden, lädt npm das angegebene Paket und seine Abhängigkeiten herunter und legt sie in einem lokalen Verzeichnis namens „node_modules“ ab, einem zentralen Ort, an dem alle Projektabhängigkeiten und -versionen verfolgt werden. Eine lokale Installation bedeutet, dass das Paket nur innerhalb des Projekts verfügbar ist, in dem Sie es installieren. Der Befehl sieht so aus:

npm install <package-name>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie beispielsweise die Cowsay-Bibliothek zu Ihrem Projekt hinzufügen möchten, geben Sie Folgendes ein:

npm install cowsay
Nach dem Login kopieren
Nach dem Login kopieren

Auf dieses Verzeichnis kann dann Ihr Projekt zugreifen, sodass Sie die Funktionalitäten des Pakets in Ihrem Code nutzen können. Bei einer globalen Installation steht ein Paket Ihrem gesamten System zur Verfügung, sodass Sie es für jedes Projekt verwenden können. Dies ist nützlich für Befehlszeilentools, die Sie von überall aus ausführen möchten.

Über die einfache Paketinstallation hinaus bietet npm auch eine Versionskontrolle für jedes Paket, mit der Sie genau die gewünschten Versionen angeben können. Dies ist entscheidend, um potenzielle Probleme zu vermeiden, die durch fehlerhafte Änderungen in neueren Versionen verursacht werden.

Darüber hinaus bietet npm eine Möglichkeit, Skripte in package.json zu definieren – das sind Befehle, die Aufgaben wie das Starten eines Servers, das Ausführen von Tests oder das Erstellen eines Projekts automatisieren. In Ihrer package.json könnten Sie ein Skript wie dieses definieren:

npm install <package-name>
Nach dem Login kopieren
Nach dem Login kopieren

Was ist NPX?

npx wurde mit npm v 5.2.0 eingeführt. Während es bei npm um die Installation und Verwaltung von Paketen geht, geht es bei npx um deren Ausführung.

Stellen Sie sich npx als einen schnellen Befehlsläufer vor, mit dem Sie Node.js-Pakete ausführen können, ohne sie zu installieren. npx ist besonders nützlich, wenn Sie ein Paket nur einmal verwenden oder testen möchten, ohne es dauerhaft Ihrem System hinzuzufügen.

Wenn Sie vor npx ein Befehlszeilentool aus einem Paket verwenden wollten, mussten Sie es zuerst global installieren. npx vereinfacht dies, indem es Ihnen ermöglicht, das Tool direkt aus der npm-Registrierung auszuführen, ohne dass eine globale Installation erforderlich ist.

Wie npx funktioniert

Wenn Sie einen Befehl mit npx ausführen, überprüft dieser zunächst Ihr lokales Verzeichnis node_modules. Wenn das Paket dort gefunden wird, wird es ausgeführt. Wenn nicht, installiert npx das Paket vorübergehend, führt es aus und entfernt es dann. Das bedeutet, dass Sie eine breite Palette von Tools verwenden können, ohne Ihr System zu überladen.

Angenommen, Sie möchten die Create-React-App verwenden, um ein neues React-Projekt zu starten. Normalerweise müssten Sie es zuerst global installieren:

npm install cowsay
Nach dem Login kopieren
Nach dem Login kopieren

Dann würden Sie Folgendes ausführen:

{
  "scripts": {
    "start": "node index.js",
    "test": "jest"
  }
}
Nach dem Login kopieren

Aber mit npx können Sie die globale Installation überspringen und direkt ausführen:

npm install -g create-react-app
Nach dem Login kopieren

Dieser Befehl lädt die Create-React-App herunter, führt sie aus und verwirft sie, wenn Sie fertig sind. Es ist schnell und bequem und verhindert, dass Ihr System mit globalen Paketen überladen wird, die Sie möglicherweise nur einmal verwenden.

Wenn Sie bereits ein Paket lokal in Ihrem Projekt installiert haben, kann npx Ihnen bei der Ausführung helfen, ohne den vollständigen Pfad zu node_modules angeben zu müssen. Wenn Sie Jest beispielsweise zum Testen lokal installiert haben, können Sie es mit npx wie folgt ausführen:

create-react-app my-app
Nach dem Login kopieren

npx findet das Paket automatisch in Ihrem lokalen node_modules-Ordner und führt es aus, wodurch Sie Zeit und Ärger sparen.

Ich denke, die coolste Funktion von npx ist die Fähigkeit, herauszufinden, welches Paket oder welchen Befehl Sie ausführen möchten. Es folgt ein dreistufiger Prozess, um zu entscheiden, wie ein Befehl ausgeführt werden soll:

  • Lokal prüfen: npx prüft zunächst, ob das Paket lokal im Ordner „node_modules“ Ihres Projekts installiert ist. Wenn es das Paket findet, führt es es von dort aus
  • Global prüfen: Wenn das Paket nicht lokal gefunden wird, prüft npx, ob es global auf Ihrem System installiert ist. Wenn das Paket global gefunden wird, wird es ausgeführt
  • Aus der npm-Registrierung abrufen: Wenn npx das Paket schließlich weder lokal noch global findet, ruft es das Paket aus der npm-Registrierung ab, führt es aus und entfernt es nach der Ausführung

Hinweis: Standardmäßig führt npx die neueste Version eines Pakets aus. Wenn Sie jedoch eine bestimmte Version benötigen, können Sie ihm auch mitteilen, welche Version ausgeführt werden soll.

Hauptunterschiede zwischen npm und npx

npm und npx sind beide wichtige Werkzeuge im Node.js-Ökosystem, aber sie spielen auf verschiedenen Ebenen unterschiedliche Rollen:

Feature npm npx
Purpose and functionality Primarily used for installing packages from the npm registry and managing dependencies in Node.js projects. It helps in adding, removing, and updating packages, and maintaining package versioning Designed to execute Node packages directly without needing to install them globally. It allows users to run packages without cluttering the global or project-specific `node_modules`
Package installation Installs packages locally or globally Executes packages temporarily without installing them permanently
Temporary usage Installation with npm persists until explicitly removed. Packages remain in `node_modules` or globally installed paths Runs packages temporarily and discards them after execution unless otherwise specified
Usage `npm install ` `npx `
Script setup Requires modifications to `package.json` to create custom scripts No modifications needed in `package.json` for running commands
Execution of CLI tools Must install CLI tools globally or locally before using them Can run CLI tools directly from the npm registry without prior installation
Project setup Typically used for project setup involving multiple dependencies and versions. Ideal for quick project scaffolding or one-time command execution, like `create-react-app`
Node.js compatibility Bundled with Node.js for general project and package management Included with Node.js starting from v 8.2.0, streamlining the execution of packages

Fazit: Wann sollten Sie npm vs. npx verwenden?

Die Entscheidung, wann npm oder npx verwendet werden soll, hängt von der Aufgabe und den Anforderungen Ihres Projekts ab.

Sie sollten npm verwenden, wenn Sie Projektabhängigkeiten installieren und verwalten müssen, die für die Entwicklung oder Produktion von entscheidender Bedeutung sind. Da npm sicherstellt, dass Pakete in package.json aufgelistet werden, erhalten Sie die vollständige Kontrolle über die Versionierung und Konsistenz innerhalb Ihres Projekts. Es ist auch das ideale Tool zum Ausführen von in package.json definierten Skripten und eignet sich daher ideal für Aufgaben wie das Erstellen, Testen oder Betreiben Ihres Servers.

Andererseits eignet sich npx am besten für schnelle, einmalige Befehle oder Testtools ohne die Verpflichtung einer globalen Installation. Wenn Sie ein Tool nur einmal verwenden möchten – wie z. B. „create-react-app“ zum Bootstrapping eines React-Projekts – können Sie es mit npx direkt ausführen, ohne Ihr System zu überladen. Es ist auch praktisch, um lokal installierte Pakete auszuführen, ohne den vollständigen Pfad einzugeben, was Ihren Arbeitsablauf vereinfacht. Kurz gesagt: Verwenden Sie npm für die langfristige Abhängigkeitsverwaltung und npx für temporäre Aufgaben oder die spontane Ausführung von Paketen.


Nur 200 ✔️ Überwachen Sie fehlgeschlagene und langsame Netzwerkanforderungen in der Produktion

Die Bereitstellung einer Node-basierten Web-App oder Website ist der einfache Teil. Schwieriger wird es, sicherzustellen, dass Ihre Node-Instanz weiterhin Ressourcen für Ihre App bereitstellt. Wenn Sie sicherstellen möchten, dass Anfragen an das Backend oder an Drittanbieterdienste erfolgreich sind, versuchen Sie es mit LogRocket.

npm vs. npx: What’s the difference?

npm vs. npx: What’s the difference?

LogRocket ist wie ein DVR für Web-Apps, der buchstäblich alles aufzeichnet, was auf Ihrer Website passiert. Anstatt zu raten, warum Probleme auftreten, können Sie problematische Netzwerkanfragen zusammenfassen und darüber berichten, um die Grundursache schnell zu verstehen.

LogRocket instrumentiert Ihre App, um grundlegende Leistungszeiten wie Seitenladezeit, Zeit bis zum ersten Byte, langsame Netzwerkanfragen aufzuzeichnen und außerdem Redux-, NgRx- und Vuex-Aktionen/-Status zu protokollieren. Beginnen Sie mit der kostenlosen Überwachung.

Das obige ist der detaillierte Inhalt vonnpm vs. npx: Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage