rebar.config的依賴包名稱問題

問題出在rebar,rebar3沒測試。git

今天用rebar管理項目,在添加一個類庫時遇到問題,類庫地址爲:github

https://github.com/tonyg/erlang-rfc4627 shell

rebar.config裏面這麼寫:json

{deps, [
	{erlang-rfc4627, ".*", {git, "git://github.com/tonyg/erlang-rfc4627.git", "master"}},
]}.

這樣寫不行,查了好久,才發現問題出在erlang-rfc4627這個字段。app

使用erlang讀取文件:測試

$erl
1>file:consult("rebar.config").
{error,{5,erl_parse,"bad term"}}

緣由極可能是,erlang中的原子不以-符號鏈接,erlang-rfc4627能夠更名爲erlang_rfc4627,或者'erlang-rfc4627'。spa

改成erlang_rfc4627繼續。code

獲取全部依賴仍是失敗,失敗緣由:xml

{name_mismatch,...
    {expected,erlang_rfc4627},
    {has,rfc4627_jsonrpc}}}.

參考:Respository Name and application name conflictsrpc

這是由於ebin/rfc4627_jsonrpc.app寫着:

{application, rfc4627_jsonrpc,
 ...}.

而rebar下載的目錄名稱爲erlang_rfc4627, 跟rfc4627_jsonrpc不匹配。

最後改成:

{deps, [
	{rfc4627_jsonrpc, ".*", {git, "git://github.com/tonyg/erlang-rfc4627.git", "master"}}
]}.

名稱改成app中的項目名稱便可。

相關文章
相關標籤/搜索