402 Stimmen

Sollte ich den Ordner "node_modules" in Git einchecken, wenn ich eine Node.js-App auf Heroku erstelle?

Ich habe die grundlegenden erste Schritte Anleitungen für Node.js auf Heroku finden Sie hier:

https://devcenter.heroku.com/categories/nodejs

Diese Anweisungen sagen nicht, dass Sie eine .gitignore node_modules erstellen sollen, und implizieren daher, dass der Ordner Knoten_Module sollte bei Git eingecheckt werden. Wenn ich ein Knoten_Module im Git-Repository, lief meine Einstiegsanwendung korrekt.

Als ich das fortgeschrittene Beispiel unter:

Es wies mich an, den Ordner Knoten_Module zu den Akten .gitignore . Also habe ich den Ordner Knoten_Module aus Git und fügte es der Datei .gitignore und dann umverteilt werden. Diesmal schlug der Einsatz wie folgt fehl:

-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
       Using Node.js version: 0.8.2
       Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
       Error: npm doesn't work with node v0.8.2
       Required: node@0.4 || 0.5 || 0.6
           at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
           at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
           at Module._compile (module.js:449:26)
           at Object.Module._extensions..js (module.js:467:10)
           at Module.load (module.js:356:32)
           at Function.Module._load (module.js:312:12)
           at Module.require (module.js:362:17)
           at require (module.js:378:17)
           at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
           at Module._compile (module.js:449:26)
       Error: npm doesn't work with node v0.8.2
       Required: node@0.4 || 0.5 || 0.6
           at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
           at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
           at Module._compile (module.js:449:26)
           at Object.Module._extensions..js (module.js:467:10)
           at Module.load (module.js:356:32)
           at Function.Module._load (module.js:312:12)
           at Module.require (module.js:362:17)
           at require (module.js:378:17)
           at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
           at Module._compile (module.js:449:26)
       Dependencies installed
-----> Discovering process types
       Procfile declares types -> mongod, redis, web
-----> Compiled slug size is 5.0MB
-----> Launching... done, v9

Die Ausführung von "heroku ps" bestätigt den Absturz. OK, kein Problem, also habe ich die Änderung rückgängig gemacht, den Ordner Knoten_Modul zurück in das Git-Repository und entfernte es aus der Datei .gitignore . Allerdings erhalte ich auch nach der Rückgängigmachung immer noch dieselbe Fehlermeldung bei der Bereitstellung, aber jetzt läuft die Anwendung wieder korrekt. Die Ausführung von "heroku ps" zeigt mir, dass die Anwendung läuft.

Was ist der richtige Weg, dies zu tun? Ordner einbinden Knoten_Module oder nicht? Und warum erhalte ich die Fehlermeldung immer noch, wenn ich ein Rollback durchführe? Meine Vermutung ist, dass sich das Git-Repository auf der Heroku-Seite in einem schlechten Zustand befindet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X