ENV定制开发,测试,发布环境变量
env 命令可以显示Linux系统当前用户环境变量,当然mac下也是可以的.
注意是当前用户的环境变量.
查看ENV环境变量:
zhangzhi@moke:~$ ENV TERM_PROGRAM=iTerm.app ANDROID_HOME=/Users/zhangzhi/Library/Android/sdk SHELL=/bin/bash TERM=xterm-256color CLICOLOR=1 TMPDIR=/var/folders/b9/x5dylknd4x735wwy54f3g41h0000gn/T/ GRADLE_HOME=/usr/local/gradle-2.2.1 Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.YUt1aAl3Ss/Render ANT_HOME=/usr/local/ant USER=zhangzhi COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.bYbheHVO9f/Listeners __CF_USER_TEXT_ENCODING=0x1F5:0x19:0x34 LSCOLORS=GxFxCxDxBxegedabagaced PATH=/usr/local/gradle-2.2.1/bin:/usr/local/Cellar/git/1.8.5.2/bin:/usr/local/Cellar/mongodb/2.4.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/ant/bin:/usr/local/go/bin:/Users/zhangzhi/Library/Android/sdk/platform-tools:/Users/zhangzhi/Library/Android/sdk/tools PWD=/Users/zhangzhi LANG=zh_CN.UTF-8 ITERM_PROFILE=Default NODE_PATH=/usr/local/lib/node_modules/ XPC_FLAGS=0x0 PS1=\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ XPC_SERVICE_NAME=0 SHLVL=1 HOME=/Users/zhangzhi GOROOT=/usr/local/go ITERM_SESSION_ID=w0t2p0 LOGNAME=zhangzhi GOPATH=/Users/zhangzhi/go SECURITYSESSIONID=186a5 _=/usr/bin/ENV
ENV 个人环境变量定制可以帮我们在不同的环境下代码做一些相关的操作.
具体一点讲就是:
如果你想在开发环境下打印出log ,但是在正式运行环境不想打印log.
你想在开发环境加载原 javascript 文件, 在正式运行环境下压缩javascript 文件.
或者你想在开发环境加载一套 config 配置,在正式运行环境加载另外一套 config 配置.
等等.....
ENV 环境变量满足你.
如何设置ENV环境变量?
zhangzhi@moke:~$ export NODE_ENV=development
比如我上面要设置 NODE_ENV 环境变量 ,直接 export NODE_ENV=development 即可.
然后查看ENV环境查看是否添加:
第一种方法是:
zhangzhi@moke:~$ echo $NODE_ENV development
第二种方法是:
直接看 ENV 环境变量
红框处显示已经添加上了.
我能不能添加一个自定义的变量?
随便你,你自己定义一个变量都可以 ,比如 export code_version=1.0
上面是没有问题的,只要你同时在开发,测试,发布环境有此变量,就可以根据定制变量来做一些个性化操作.
这些自定义的环境变量最后保存在了什么地方?
用户自定义环境变量在linux 系统下会自动写入到 ~/.bash_profile 个人配置文件中.
我们可以看一眼现在的配置文件
export PATH=/usr/local/Cellar/git/1.8.5.2/bin:/usr/local/Cellar/$ export CLICOLOR=1 export NODE_ENV="development" export LSCOLORS=GxFxCxDxBxegedabagaced export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[$ export NODE_PATH="/usr/local/lib/node_modules/" export ANDROID_HOME="/Users/zhangzhi/Library/Android/sdk" export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin export PATH=$PATH:/Users/zhangzhi/Library/Android/sdk/platform-t$ export PATH=$PATH:/Users/zhangzhi/Library/Android/sdk/tools export GRADLE_HOME=/usr/local/gradle-2.2.1 export PATH=$GRADLE_HOME/bin:$PATH
可以看到刚才设置的 NODE_ENV 已经写入.
那我可以直接编辑此文件来添加环境变量吗?
当然可以,效果是一样的.
如果刚刚编辑过的 ~/.bash_profile 配置文件,想要他即时生效
zhangzhi@moke:~$ source ~/.bash_profile
下一篇分享一下node.js 里面根据 ENV 个性化环境变量和 config 模块加载不同环境下配置文件.