Sono su Ubuntu 12.04 e sto solo imparando a conoscere le variabili di ambiente. Sto cercando di leggere una variabile personalizzata dalla mia applicazione ma si presenta sempre come undefined
. Ecco il codice del mio test app:Impossibile leggere la mia variabile di ambiente nella mia app nodejs
// app.js
console.log('Value: ' + process.env.NODE_ENV);
Se corro i seguenti comandi si vedrà che la variabile ha un valore:
$ NODE_ENV=production
$ echo $NODE_ENV
production
posso echo $NODE_ENV
tutto il giorno e continuerà a mostrare io "produzione", ma quando faccio il process.env.NODE_ENV
nella mia applicazione di nodo mostra sempre "non definito".
$ node app.js
Value: undefined
qui è la parte strana, però, se visualizzo un'altra variabile d'ambiente che conosco già esiste, dire process.env.PATH
, allora funziona.
$ node app.js
Value: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Un altro aspetto fastidioso è che il comando printenv list
non sembra contenere la mia variabile personalizzata NODE_ENV
nonostante il fatto che echo $NODE_ENV
mi mostra il valore corretto. printenv NODE_ENV
non mostra nulla, ma printenv PATH
mostra il valore corretto proprio come quando ho avuto accesso a PATH
nella mia applicazione di nodo.
Qualsiasi aiuto è molto apprezzato.