2016-04-19 8 views
3

Für meine Entwicklungsumgebung verwende ich Node.js in einem Docker-Container. Ich platziere den Ordner node_modules im Docker-Image, um mögliche Probleme zu vermeiden, die durch architektonische Unterschiede zwischen dem Nicht-Linux-Host und der Docker-Engine verursacht werden. Jedes Mal, wenn ich ein Modul hinzufüge, stelle ich das Image wieder her, ein Prozess, der npm install innerhalb des Containers aufruft. Um die Abhängigkeit zu package.json hinzuzufügen, würde ich npm --save install <module> auf dem Host-Computer ausführen, da ich dort die Dateien bearbeite. Dadurch wird das Modul auf den Hostcomputer installiert, der es nicht wirklich benötigt. Es ist eine Verschwendung von Zeit und Bandbreite."npm --save install <module>" ohne das Modul tatsächlich zu installieren

Ich könnte package.json manuell bearbeiten, aber das ist fehleranfällig und erfordert nachschlagen der Versionsnummer des Moduls. Gibt es eine Möglichkeit, die Änderung über npm vorzunehmen und dabei die unnötige Installation zu vermeiden?

Antwort

0

wenn Ihr Docker Behälter Sie läuft im Inneren des Behälters npm installieren ausführen können:

docker exec -ti <container id or name> npm install --prefix ./path/to/your/app <package> --save 
Verwandte Themen