添加路径到 Erlang 搜索路径?
我最近使用 debian 软件包安装了 Erlang RFC4627 (JSON-RPC)。 我使用以下命令运行测试服务器:
sudo erl -pa ebin
然后在提示符处:
test_jsonrpc:start_httpd().
返回
ok
我使用 http://:5671/ 进行了测试并收到了成功消息。
然而,当我尝试运行rabbitmq-http2时,我收到自述文件所说的错误,该错误是由于rfc4627的代码不在erlang搜索路径上引起的。 我如何将其放在路径上。 我在 Dave Thomas 的博客上看到一些内容,建议将路径放入文件中:
~/.erlang
这似乎对我不起作用(也许我做错了?)。
I recently installed Erlang RFC4627 (JSON-RPC) with the debian package. I ran the test server using:
sudo erl -pa ebin
and then at the prompt:
test_jsonrpc:start_httpd().
returned
ok
I tested with http://:5671/ and got the success messages.
When I try to run rabbitmq-http2 however, I get the errors that the readme says are caused by rfc4627's code not being on the erlang search path. How do I put it on the path. I saw something on Dave Thomas's blog which suggested putting the path in the file:
~/.erlang
This didn't seem to work for me (maybe I did it wrong?).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
代码模块是您在应用程序中操作路径的方式。
您在启动 Erlang shell 时使用的标志 -pa 实际上引用了此模块中的一个函数:
您对主目录中的 .erlang 文件的看法是正确的 - 它在 shell 启动时运行,您可以添加方便的路径。
对于应用程序,您可以使用批处理文件启动 shell,该文件调用如下内容:
erl 的标志行为描述
对于更复杂的路径管理,您需要熟悉OTP 发布管理是如何完成的(但是我怀疑这对你来说还需要一段时间)。
The code module is how you manipulate the path within an application.
The flags -pa that you used in starting the Erlang shell actually refer to a function in this module:
You are right about the .erlang file in your home directory - it is run at start-up time of the shell and you can add in handy paths.
For an application you can start the shell with a batch file that calls something like this:
The flags behaviour of erl is described here.
For more sophisticated path management you need to get familiar with how OTP release management is done (but I suspect that is a while away for you yet).