2009-08-06 185 views
10

我最近在Debian軟件包中安裝了Erlang RFC4627(JSON-RPC)。添加路徑到Erlang搜索路徑?

sudo erl -pa ebin 

,然後在提示符下:我使用運行測試服務器

test_jsonrpc:start_httpd(). 

返回

ok 

我測試HTTP://:5671 /,並得到了成功消息。

但是,當我嘗試運行rabbitmq-http2時,我得到的錯誤是自述文所述的錯誤是由rfc4627的代碼不在erlang搜索路徑中引起的。我如何把它放在道路上。我看到戴夫·托馬斯的博客一些東西,建議對路徑的文件中:

~/.erlang 

這似乎並沒有爲我工作(也許我沒有錯?)。

+0

戈登,我很欣賞你的答案(投票)。不幸的是,我已經嘗試了幾種方法,包括.erlang文件並將路徑應用於make文件中的-pa。我想我的問題是rfc4627和rabbitmq-http2更特別一點。 – David 2009-08-09 16:46:24

+0

添加有關使用梁的目錄路徑的更多信息,以及如何將路徑添加到代碼服務器。特別是,你在哪裏有rfc4627庫的光束? – Christian 2009-08-13 11:49:44

+0

基督徒,其實,我得到了這一切的工作,我一直在迴應這個解釋我所做的一些事情。本週晚些時候我可能會這樣做。如上所述 – David 2009-08-18 01:20:12

回答

19

code module是您如何操縱應用程序中的路徑。

的標誌-pa您在開始Erlang的外殼實際上是指一個函數在此模塊中使用:

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

你是正確的關於你的home目錄.erlang文件 - 它在啓動時運行shell的啓動時間,你可以添加方便的路徑。

對於一個應用程序,你可以開始與調用像這樣一個批處理文件,外殼:

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

ERL的標誌行爲描述here

對於更復雜的路徑管理,您需要熟悉OTP release management是如何完成的(但我懷疑這還有一段時間了)。

+0

,我不需要這樣做,但這是一個很好的答案! – David 2010-11-10 18:41:41

+0

.erlang文件的格式是什麼?或者甚至更好,我在哪裏可以找到關於它的文檔 – Masse 2011-08-25 05:52:00

+0

這需要erlang條款,就好像在shell中輸入一樣。請參閱第1.7.1節http://www.erlang.org/documentation/doc-5.2/doc/getting_started/getting_started.html – 2011-12-20 14:05:51