11

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

sudo erl -pa ebin

然后在提示符下:

test_jsonrpc:start_httpd().

回来

ok

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

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

~/.erlang

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

4

1 回答 1

20

代码模块是您在应用程序中操作路径的方式。

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

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

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

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

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

erl 的标志行为在此处描述。

对于更复杂的路径管理,您需要熟悉如何完成OTP 发布管理(但我怀疑这对您来说还需要一段时间)。

于 2009-08-06T07:04:05.953 回答