簡體   English   中英

rebar3 無法獲取和復制依賴項(LFE 項目)

[英]rebar3 fails to fetch and copy dependencies (LFE project)

幾年后,我想回到Erlang/LFE 工作 我做了一個小項目來學習這門語言。 我無法使用rebar3 get-deps命令獲取依賴rebar3 get-deps

它遵循rebar.config ,也可在此處獲得

{erl_opts, [debug_info, {src_dirs, ["test"]}]}.
{lfe_first_files, []}.
{deps_dir, ["deps"]}.
{eunit_compile_opts, [
   {src_dirs, ["test"]}
  ]}.
{deps, [
   {lfe, "0.9.0", {git, "git://github.com/rvirding/lfe.git", {tag, "v0.9.0"}}},
   {clj, ".*", {git, "git://github.com/lfex/clj.git"}},
   {lhc, ".*", {git, "git://github.com/lfex/lhc.git"}},
   {ljson, ".*", {git, "git@github.com:lfex/ljson.git", "master"}}, 
   {ltest, ".*", {git, "git://github.com/lfex/ltest.git", {tag, "0.4.1"}}}
  ]}.

我知道我引用了舊版本的LFE ......但是如果我刪除所有 deps 並嘗試再次添加它們:第一個失敗的是clj 但是,在rebar.config處於原始狀態時,我在rebar3 get-deps之后得到了以下輸出。 在這里完成輸出。

===> Verifying dependencies...
===> Fetching clj (from {git,"git://github.com/lfex/clj.git"})
===> WARNING: It is recommended to use {branch, Name}, {tag, Tag} or {ref, Ref}, otherwise updating the dep may not work as expected.
===> Fetching lfe-compile (from {git,"https://github.com/lfe-rebar3/compile.git",
                       {tag,"0.5.0"}})
===> Fetching lfe (from {git,"https://github.com/rvirding/lfe.git",
               {ref,"697e9b4996fa843f4c6a9edea25005d30a9b8a14"}})
===> Compiling lfe
...
===> Compiling ltest
 ~~>    Finding .lfe files ...
 ~~>    Compiling ./_build/default/plugins/ltest/src/ltest.lfe ...
 ~~>    Compiling ./_build/default/plugins/ltest/src/ltest-const.lfe ...
 ~~>    Compiling ./_build/default/plugins/ltest/src/ltest-formatter.lfe ...
 ~~>    Compiling ./_build/default/plugins/ltest/src/ltest-unit.lfe ...
 ~~>    Compiling ./_build/default/plugins/ltest/src/ltest-runner.lfe ...
===> Plugin {'lfe-test',{git,"https://github.com/lfe-rebar3/test.git",
                                    {tag,"0.4.0-rc2"}}} not available. It will not be used.
===> Fetching lfe-clean (from {git,"https://github.com/lfe-rebar3/clean.git",
                     {tag,"0.4.0-rc2"}})
===> Compiling lfe-clean
 ~~>    Finding .lfe files ...
 ~~>    Compiling ./_build/default/plugins/lfe-clean/src/lr3-cln-util.lfe ...
===> Plugin {'lfe-clean',{git,"https://github.com/lfe-rebar3/clean.git",
                                     {tag,"0.4.0-rc2"}}} not available. It will not be used.
===> Fetching ljson (from {git,"git@github.com:lfex/ljson.git","master"})
===> WARNING: It is recommended to use {branch, Name}, {tag, Tag} or {ref, Ref}, otherwise updating the dep may not work as expected.
===> Failed to fetch and copy dep: {git,"git@github.com:lfex/ljson.git","master"}

我檢查了一個類似的問題文檔,但我仍然無法解決問題。

我的系統是macOS Catalina。 它遵循Erlang環境版本: ERLANG 22.2.1LFE 1.3、 REBAR3 3.12.0。

全部用brew安裝。 如果需要更多詳細信息,請告訴我。

我真的很感激任何幫助。

我終於發現引用lfe/cljlfe/lhclfe/lhc的,因為這些包是間接和正確地從其他包中以隱式方式引用的。

我已經從rebar.config 中刪除了這些,更新為最新的語法並盡可能使用tag (否則master )。 我將所有 URL切換為使用https://而不是 SSH 與方案git://

現在我可以使用rebar3 get-deps獲取依賴rebar3 get-deps並使用rebar3 compile

更新rebar.config

{erl_opts, [debug_info, {src_dirs, ["test"]}]}.
{lfe_first_files, []}.
{deps_dir, ["deps"]}.
{eunit_compile_opts, [
   {src_dirs, ["test"]}
  ]}.
{deps, [
   {lfe, {git, "https://github.com/rvirding/lfe.git", {"tag", "v1.3"}}},
   {ljson, {git, "https://github.com/lfex/ljson.git", "master"}},
   {ltest, {git, "https://github.com/lfex/ltest.git", {tag, "0.9.0"}}}
  ]}.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM