I am on Ubuntu 12.04 and I'm just learning about environment variables. I am trying to read a custom variable from within my application but it always shows up as undefined. Here is the code of my test app:
// app.js
console.log('Value: ' + process.env.NODE_ENV);
If I run the following commands you will see that the variable has a value:
$ NODE_ENV=production
$ echo $NODE_ENV
production
I can echo $NODE_ENV all day and it will continue to show me "production", but when I do process.env.NODE_ENV in my Node application it always displays "undefined".
$ node app.js
Value: undefined
Here is the odd part though, if I display another environment variable that I know already exists, say process.env.PATH, then it works.
$ node app.js
Value: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Another quirk is that the command printenv list doesn't appear to contain my custom variable NODE_ENV despite the fact that echo $NODE_ENV shows me the correct value. printenv NODE_ENV shows nothing as well, but printenv PATH shows the proper value just as it did when I accessed PATH in my node application.
 
     
     
     
     
     
     
    