添加Erlang搜索路径的路径?

Dav*_*vid 10 erlang path json-rpc

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

sudo erl -pa ebin
Run Code Online (Sandbox Code Playgroud)

然后在提示符下:

test_jsonrpc:start_httpd().
Run Code Online (Sandbox Code Playgroud)

ok
Run Code Online (Sandbox Code Playgroud)

我测试了http://:5671 /并获得了成功消息.

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

~/.erlang
Run Code Online (Sandbox Code Playgroud)

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

Gor*_*rie 19

代码模块是如何操作的应用程序中的路径.

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

add_patha(Dir) -> true | {error, What}
Run Code Online (Sandbox Code Playgroud)

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

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

erl -pa ./ebin ../../lib/some/path/ebin
Run Code Online (Sandbox Code Playgroud)

这里描述了erl的标志行为.

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