添加Erlang搜索路径的路径?

时间:2009-08-06 04:20:48

标签: erlang path json-rpc

我最近使用debian软件包安装了Erlang RFC4627(JSON-RPC)。我使用以下命令运行测试服务器:

sudo erl -pa ebin

然后在提示符处:

test_jsonrpc:start_httpd().

返回

ok

我使用http://:5671 /测试并获得了成功消息。

当我尝试运行rabbitmq-http2时,我得到的错误是自述文件是由rfc4627的代码不在erlang搜索路径上引起的。我该如何把它放在路上。我在Dave Thomas的博客上看到了一些建议将路径放在文件中的内容:

~/.erlang

这对我来说似乎不起作用(也许我做错了?)。

1 个答案:

答案 0 :(得分:19)

code module是您在应用程序中操纵路径的方式。

你在启动Erlang shell时使用的标志-pa实际上是指这个模块中的一个函数:

add_patha(Dir) -> true | {error, What}

你对主目录中的.erlang文件是正确的 - 它是在shell的启动时运行的,你可以添加方便的路径。

对于应用程序,您可以使用批处理文件启动shell,该文件调用类似这样的内容:

erl -pa ./ebin ../../lib/some/path/ebin

描述了here的erl标志行为。

对于更复杂的路径管理,您需要熟悉OTP release management的完成方式(但我怀疑还有一段时间了)。