So installieren Sie nur "devDependencies" mit npm


90

Ich versuche NUR die in meiner Datei package.json aufgeführten "devDependencies" zu installieren. Aber keiner der folgenden Befehle funktioniert wie erwartet. Alle folgenden Befehle installieren auch die Produktionsabhängigkeiten, die ich nicht möchte.

npm install --dev
npm install --only=dev
npm install --only-dev

Ich kann mir keine weiteren Möglichkeiten vorstellen, die npm anzuweisen, die devDependencies alleine zu installieren. :(


wie heute - npm WARN install Die Verwendung der --devOption ist veraltet. Verwenden Sie --only=devstattdessen.
Andriy Leshchuk

Antworten:


140

Überprüfen Sie die NPM-Dokumente für die Installation :

Mit dem --productionFlag (oder wenn die NODE_ENVUmgebungsvariable auf Produktion gesetzt ist) installiert npm keine in aufgelisteten Module devDependencies.

Das --only={prod[uction]|dev[elopment]}Argument bewirkt, dass unabhängig vom NODE_ENV entweder nur devDependencies oder nur Nicht-devDependencies installiert werden.

Haben Sie Folgendes versucht?

npm install --only=dev

10
Gerade habe ich herausgefunden, dass meine npm-Version 2.x war. Ich habe es auf v3.x aktualisiert, indem ich den Befehl ausgeführt habe, npm install npm -gund die Option --only = dev hat wie ein Zauber funktioniert. Danke für die Antwort.
Nesan Rajendran

Das von @NesanJoseph erwähnte Versionsproblem war auch in meinem Fall das Problem. In der älteren Version von npm npm install --prodwerden Elemente aus dem dependenciesOrdner installiert . Beide npm installund npm install --devverwendet, um sowohl aus dem dependenciesund devDependenciesOrdner zu installieren !
Shiyaz

Ich erhalte das gleiche Problem, bei dem @ricka erwähnt, dass nvm zum Ausführen von Node v 10.9.0 und npm v 6.4.1 (beide neueste Versionen ab 18.10.) Verwendet wird. Außerdem verwendet --only = dev weiterhin App-Abhängigkeiten . Grundsätzlich sind npm-Installationsflags zu diesem Zeitpunkt zu 100% nutzlos.
Henry

Funktioniert nicht für mich (Knoten v12.19.0, npm v6.14.8). Vielleicht hat es etwas mit dieser Ausgabe zu tun, die seit April 2016 geöffnet ist: github.com/npm/npm/issues/12184
Fapaz

23
npm install thePackageName --save-dev

Das funktioniert gut für mich.


4
--save-devspeichert das Paket in den devDependencies in package.json
Rashomon

1
--save-dev soll markieren, dass das installierte Paket unter den devDependencies installiert werden würde
Daniel Dubovski

3
Eher wienpm install thePackageName --save-dev
Deke

4
Dadurch wird ein expliziter Paketname installiert und in Entwicklungsabhängigkeiten gespeichert. Die Frage ist, wie nur devDependencies aus der package.json installiert werden.
Lalnuntluanga Chhakchhuak

1
Erfüllt nicht die Kriterien für die Frage. Ihre Antwort lautet: 1. ein einzelnes Paket installieren 2. Die Frage lautet, wie Dinge installiert werden sollen, die sich bereits in der Datei package.json befinden, jedoch nur in der Abhängigkeitsliste.
Urasquirrel

20
npm i -D

Eine optionale Kurzversion.


JA, ich hatte es getan npm install -Dund es hat funktioniert. so war ich überrascht und googelte dies, nach vielen Antworten sehe ich Ihre Antwort :)
its4zahoor

2

Laufen npm install, Es werden alle Abhängigkeiten unter installieren devDependencies `oder Abhängigkeiten .

Zum Installieren und Speichern von Paketen als Entwicklungsabhängigkeiten in package.json npm install package_name --save-devoder als Pass-Option-D

Für die Installation aller Pakete unter devDependencies , npm install --only=dev

Zum Installieren und Speichern von Paketen als Produkt oder nur als Abhängigkeiten in package.json npm install package_name --save-prododer als Pass-Option -Podernpm install package_name

Um alle Pakete unter Abhängigkeiten oder Prod-Abhängigkeiten zu installieren , setzen Sie die Umgebungsvariable NODE_ENV=productionoder übergeben Sie sie mit dem Befehl NODE_ENV=production npm installodernpm install --only=prod

Anstatt installin npm den Befehl wie zu verwenden npm install, können Sie einfach iwie verwenden npm i, kurz vor der Installation.

Referenz

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.