2014-12-02 10 views
5

Setup:NodeJS/npm: Wie neu installieren/neu kompilieren kopiert App-Pakete

  • Eine VM mit einer Internetverbindung, wo npm install alle App-Abhängigkeiten installieren ausgeführt werden. Das Ergebnis ist ein Ordner mit der App und ihren Abhängigkeiten in node_modules.

  • Zwischen den App-Modulen ist fi: mongoose, die bei der Installation node-gyp verwendet, um eine native BSON-Erweiterung zu kompilieren.

  • Der App-Ordner wird auf eine andere VM ohne eine Internetverbindung kopiert und es ist voll funktionsfähig, aber dann die kompilierten Erweiterungen funktionieren nicht, aber seine .js Fallbacks tut.

Frage:

Wie kann ich neu installieren/recompile/regenerieren alle App-Module auf der neuen VM ohne Internet-conection?

Antwort

11

Dies ist genau das, was der npm rebuild Befehl tut. Führen Sie einfach npm rebuild in Ihrem App-Verzeichnis aus, nachdem es auf die neue VM kopiert wurde, und alle binären Add-Ons werden neu kompiliert, um der aktuellen CPU-Architektur und Knotenversion zu entsprechen. Wenn die ursprüngliche npm install vor der Kopie vollständig erfolgreich war, muss die npm rebuild auf der zweiten VM nichts herunterladen. Stellen Sie nur sicher, dass die zweite VM über eine vernünftige Version des Knotens und die entsprechenden Compiler, Bibliotheken usw. auf der unteren Ebene verfügt (z. B. build-essential und python on debian).

+0

Ordentlich! Vielen Dank! Genau was ich brauchte :) – diosney