私はUbuntu12.04を使用しており、環境変数について学習しています。アプリケーション内からカスタム変数を読み取ろうとしていますが、常にとして表示されundefined
ます。これが私のテストアプリのコードです:
// app.js
console.log('Value: ' + process.env.NODE_ENV);
次のコマンドを実行すると、変数に値があることがわかります。
$ NODE_ENV=production
$ echo $NODE_ENV
production
echo $NODE_ENV
一日中できますが、引き続き「本番process.env.NODE_ENV
環境」が表示されますが、Nodeアプリケーションで表示すると、常に「未定義」と表示されます。
$ node app.js
Value: undefined
これは奇妙な部分ですが、すでに存在していることがわかっている別の環境変数を表示すると、たとえばprocess.env.PATH
、それは機能します。
$ node app.js
Value: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
もう1つの癖は、正しい値が表示されているにもかかわらず、コマンドprintenv list
にカスタム変数が含まれていないように見えることです。も何も表示されませんが、ノードアプリケーションでアクセスしたときと同じように適切な値が表示されます。NODE_ENV
echo $NODE_ENV
printenv NODE_ENV
printenv PATH
PATH