Ich betreibe ein Node-Projekt mit Heroku als Haupteinsatzziel. Ich Grunzt in dev Umgebung bin mit dem Web-Server zu starten, aber in der Produktion ziehe ich die App direkt starten mit node app
Heroku NODE_ENV Umgebungsvariable
Hier ist mein procfile:
web: bin/web
Und ist/web:
#!/bin/sh
echo "NODE_ENV=" $NODE_ENV
if [ "$NODE_ENV" == "production" ]; then
echo "Starting the server with node app"
node app
else
echo "Starting the server using grunt"
grunt
fi
Die erste echo
ist zum Debuggen. Heroku-Protokoll zeigt:
app[web.1]: NODE_ENV=
Grundsätzlich bedeutet NODE_ENV nicht festgelegt. (Und die App startet mit Grunzen statt node app
)
Die docs sagen, dass „Die Umwelt NODE_ENV Variable standardmäßig auf die Produktion, aber Sie können es überschreiben, wenn Sie es wünschen“
Was bin ich?
Haben Sie das in Ihr Procfile geschrieben? –
Ich bin ein Idiot das etwas, was Sie in der Befehlszeile ausführen, sieht es ähnlich wie procfile, so dass ich verwirrt war. –