Ich bin auf Ubuntu 12.04 und ich lerne gerade über Umgebungsvariablen. Ich versuche, eine benutzerdefinierte Variable aus meiner Anwendung zu lesen, aber sie wird immer als undefined
angezeigt. Hier ist der Code meiner Test-App:Ich kann meine Umgebungsvariable in meiner Nodejs App nicht lesen
// app.js
console.log('Value: ' + process.env.NODE_ENV);
Wenn ich die folgenden Befehle ausführen, werden Sie sehen, dass die Variable einen Wert hat:
$ NODE_ENV=production
$ echo $NODE_ENV
production
Ich kann echo $NODE_ENV
den ganzen Tag und es wird auch weiterhin zeigen, ich "Produktion", aber wenn ich process.env.NODE_ENV
in meiner Knoten-Anwendung mache, zeigt es immer "undefined" an.
$ node app.js
Value: undefined
Hier ist der ungeradee Teil aber, wenn ich eine andere Umgebungsvariable anzuzeigen, die ich kenne bereits vorhanden ist, sagen process.env.PATH
, dann funktioniert es.
$ node app.js
Value: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Eine weitere Marotte ist, dass der Befehl printenv list
nicht meine benutzerdefinierten Variablen zu enthalten scheint NODE_ENV
trotz der Tatsache, dass echo $NODE_ENV
zeigt mir den richtigen Wert. printenv NODE_ENV
zeigt nichts, aber printenv PATH
zeigt den richtigen Wert, so wie es getan hat, als ich auf PATH
in meiner Knoten-Anwendung zugegriffen habe.
Jede Hilfe wird sehr geschätzt.