Wenn Sie mit Node.js gearbeitet haben, sind Sie wahrscheinlich sowohl auf npm als auch auf npx gestoßen.
Obwohl sie ähnlich klingen und beide integraler Bestandteil des Node.js-Ökosystems sind, dienen sie unterschiedlichen Zwecken. In diesem Beitrag werden die Unterschiede zwischen npm und npx untersucht und Ihnen geholfen zu verstehen, wann und warum Sie beide verwenden sollten.
NPM, kurz für Node Package Manager, ist der Standardpaketmanager für Node.js. Es ermöglicht Entwicklern, Pakete (Bibliotheken oder Codemodule) in ihren Projekten zu installieren, zu teilen und zu verwalten.
Hier sind einige häufige Aufgaben, bei denen npm hilft:
npm install <package-name>
Paketversionen verwalten: Bestimmte Versionen von Bibliotheken sperren, um konsistente Builds sicherzustellen.
Projektspezifische Skripte ausführen: Definiert in der Datei package.json.
npm run <script-name>
npx ist ein Tool, das in NPM-Version 5.2.0 (Juli 2017) eingeführt wurde. Während npm Abhängigkeiten und Pakete verwaltet, ist npx darauf ausgelegt, Node.js-Pakete, insbesondere CLI-Tools, auszuführen, ohne sie global zu installieren.
1. Paketinstallation vs. Ausführung
npm install -g create-react-app create-react-app my-app
npx create-react-app my-app
Dies spart Zeit und Speicherplatz, da Sie die Installation von Paketen vermeiden, die Sie möglicherweise nur einmal verwenden.
2. Globale Pakete
Wenn Sie npm verwenden, werden globale Pakete installiert und bleiben auf Ihrem System bestehen, was Ihre Umgebung manchmal überladen kann.
Mit npx können Sie ein Paket ausführen, ohne sich Gedanken darüber machen zu müssen, dass es dauerhaft auf Ihrem System verbleibt.
Beispiel für die globale Installation eines Pakets mit npm:
npm install -g typescript tsc --version
Mit npx ist keine globale Installation notwendig:
npx tsc --version
3. Automatische Paketabwicklung
Wenn Sie einen Befehl mit npx ausführen, prüft es automatisch, ob das Paket lokal oder global existiert, und wenn nicht, lädt es es herunter und führt es vorübergehend aus. Dies ist besonders nützlich für die Ausführung einmaliger Aufgaben.
Zum Beispiel:
npx cowsay "Hello, World!"
Dadurch wird das Cowsay-Paket heruntergeladen, wenn es nicht installiert ist, es ausgeführt und anschließend bereinigt.
4. Ausführbare Dateien ohne Skripts verpacken
Wenn Sie einen in package.json-Skripts definierten Befehl mit npm ausführen, schreiben Sie:
npm run my-script
Aber mit npx können Sie ausführbare Befehle direkt ausführen:
npx my-script
Dies ist besonders nützlich, wenn das Skript nicht explizit in package.json definiert ist.
- Abhängigkeiten verwalten: Verwenden Sie npm zum Installieren, Aktualisieren und Entfernen von Projektabhängigkeiten.
- Ausführen projektspezifischer Skripte: Definiert in package.json und auf Ihr Projekt zugeschnitten.
- Paketversionen verwalten: Sperren bestimmter Bibliotheksversionen, um die Projektkonsistenz aufrechtzuerhalten.
- Einmalige Paketausführung: Verwenden Sie npx für Pakete, die Sie nicht global installieren möchten, z. B. CLI-Tools, die Sie nur einmal verwenden.
- Ausführbare Dateien ausführen: Befehle wie „create-react-app“ können Sie mit npx ohne globale Installation ausführen.
- Testen verschiedener Versionen: Führen Sie schnell eine bestimmte Version eines Tools aus, ohne es installieren zu müssen.
Schließlich sind sowohl npm als auch npx wesentliche Werkzeuge im Node.js-Ökosystem, aber sie dienen unterschiedlichen Zwecken. Verwenden Sie npm zum Verwalten der Abhängigkeiten Ihres Projekts und npx zum Ausführen von Paketen ohne permanente Installation.
Diese kleine Unterscheidung kann Ihren Arbeitsablauf effizienter machen, Zeit sparen und unnötige globale Installationen vermeiden.
Das obige ist der detaillierte Inhalt vonnpm vs. npx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!