【发布时间】:2014-06-12 10:44:48
【问题描述】:
以为我会探索氮气。按照http://nitrogenproject.com/doc/tutorial.html 中概述的安装说明,我从 GitHub 中提取源代码,执行第二步,制作 rel_inets,然后碰壁。这是系统告诉我的:
nitrogen$ make rel_inets
...
make[2]: Leaving directory `/home/lloyd/Erl/nitrogen'
Running Erlang
Generating "reltool.config" with merged overlays
...Loading base file: "reltool_base.config"
...Merging Overlay from "reltool_inets.config"
...Writing "reltool.config"
...SUCCESS
make[2]: Entering directory `/home/lloyd/Erl/nitrogen'
Running Erlang
==> rel (generate)
ERROR: generate failed while processing /home/lloyd/Erl/nitrogen/rel: {'EXIT', {{badmatch,{error,"Illegal library \"/home/lloyd/Programming/Erlang/zippity/apps\": no such file or directory"}},
原来 /home/lloyd/Programming/Erlang/zippity/apps 早就被删除了;例如它不在我的目录树中。
有哪位好心的巫师能告诉我,世界上为什么要编造这段古老的历史吗?还有……我该怎么办?
非常感谢,
LRP
根据要求,我编辑了 Makefile 的第 231 行。这是 make rel_inets 的输出:
lloyd@Reliance:~/Erl/nitrogen$ make rel_inets
make[1]: Entering directory `/home/lloyd/Erl/nitrogen'
./rebar get-deps
Running Erlang
==> rel (get-deps)
==> nitrogen (get-deps)
./rebar compile
Running Erlang
==> rel (compile)
==> nitrogen (compile)
make[2]: Entering directory `/home/lloyd/Erl/nitrogen'
make[2]: Leaving directory `/home/lloyd/Erl/nitrogen'
Running Erlang
Generating "reltool.config" with merged overlays
...Loading base file: "reltool_base.config"
...Merging Overlay from "reltool_inets.config"
...Writing "reltool.config"
...SUCCESS
make[2]: Entering directory `/home/lloyd/Erl/nitrogen'
Running Erlang
DEBUG: Consult config file "/home/lloyd/Erl/nitrogen/rel/rebar.config"
DEBUG: Rebar location: "/home/lloyd/Erl/nitrogen/rel/rebar"
DEBUG: is_rel_dir(/home/lloyd/Erl/nitrogen/rel) -> {true,
"/home/lloyd/Erl/nitrogen/rel/reltool.config"}
DEBUG: Available deps: []
DEBUG: Missing deps : []
DEBUG: Predirs: []
==> rel (generate)
DEBUG: Consult config file "/home/lloyd/Erl/nitrogen/rel/reltool.config"
DEBUG: vcs_vsn: Unknown VCS atom in vsn field: "2.2.2"
DEBUG: vcs_vsn: Unknown VCS atom in vsn field: []
ERROR: generate failed while processing /home/lloyd/Erl/nitrogen/rel: {'EXIT',{{badmatch,{error,"Illegal library \"/home/lloyd/Programming/Erlang/zippity/apps\": no such file or directory"}},
[{rebar_reltool,generate,2,[]},
{rebar_core,run_modules,4,[]},
{rebar_core,execute,5,[]},
{rebar_core,process_dir1,6,[]},
{rebar_core,process_commands,2,[]},
{rebar,main,1,[]},
{escript,run,2,[{file,"escript.erl"},{line,747}]},
{escript,start,1,[{file,"escript.erl"},{line,277}]}]}}
make[2]: *** [generate] Error 1
make[2]: Leaving directory `/home/lloyd/Erl/nitrogen'
make[1]: *** [rel] Error 2
make[1]: Leaving directory `/home/lloyd/Erl/nitrogen'
make: *** [rel_inets] Error 2
【问题讨论】:
-
嗨劳埃德。您能否修改第 231 行的 Makefile:
@(cd rel; ./rebar generate)以添加-vvv开关,使其读取为@(cd rel; ./rebar -vvv generate)。然后运行make rel_inets并发布结果?这可能会让我们一些了解为什么 erlang 正在加载一个不存在的目录。 -
您的环境中有一些垃圾。运行
printenv | grep zippity看看会发生什么。 -
感谢您发布更新,劳埃德。不幸的是,它似乎没有揭示任何新的亮点。但是@NathanielWaisbrot 的建议是可靠的。此外,根据您最近关于 erlang-questions 的问题,您的 erlang 安装可能会出现问题,以及对您的 erlang 安装进行完全擦除和重新安装的建议。
-
非常感谢各位。显然,我在某个时候设置了 ERL_LIBS 并没有完全理解其中的含义。当我删除库目录时,ERL_LIBS 值是孤立的。所以,取消设置 ERL_LIBS 就成功了。氮气现已安装完毕。
-
@LloydR.Prentice 您可以添加您的评论作为对此问题的答案并将其标记为已接受,以明确这是一个已解决的问题。
标签: erlang installation nitrogen