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 模块加载不同环境下配置文件.

回到顶部