2012-10-12 55 views
3

显然有一些我不明白的Erlang ......好吧,在很多事情中。在Erlang应用程序中设置环境变量

我已经在Rebar下建立了一个名为cw的应用程序,我启动它,一切正常。

现在我想创建一个环境变量,所以我可以访问src目录。我已经在cw.app.src中输入以下内容:

{env, [{proj_root, "mypath/apps/cw"}]} 

编译,从Rebar start.sh开始......一切正常。

现在的奥秘。昨天当我这样做时,我在Erlang shell中输入application:get_env(cw,proj_root)时得到了正确的路径。但是今天我没有定义。

我错过了什么?

非常感谢,

LRP

+0

只是猜测:也许昨天你修改了'cw.app'而不是'cw.app.src'? –

+1

必须加载应用程序才能定义要使用的环境变量。你加载或启动你的应用程序? – uwiger

回答

2

application:load(cw)应该足够了。

2

你忘了application:start(cw)第一? 如果应用程序未启动,则env未定义。