[英]rebar3 fails to fetch and copy dependencies (LFE project)
After some years I'd like to back working with Erlang/LFE .几年后,我想回到Erlang/LFE 工作。 I've a little project I made to learn the language.我做了一个小项目来学习这门语言。 I'm unable to fetch dependencies using rebar3 get-deps
command.我无法使用rebar3 get-deps
命令获取依赖rebar3 get-deps
。
It follows rebar.config , also available here .它遵循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"}}}
]}.
I know that I've referenced an old version of LFE ... But if I remove all deps and try to add them again: the first that fails is clj
.我知道我引用了旧版本的LFE ......但是如果我删除所有 deps 并尝试再次添加它们:第一个失败的是clj
。 However with rebar.config
in its original state, I got the following output after rebar3 get-deps
.但是,在rebar.config
处于原始状态时,我在rebar3 get-deps
之后得到了以下输出。 Complete output here . 在这里完成输出。
===> 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"}
I checked a similar question and documentation , but I was still unable to fix the problem.我检查了一个类似的问题和文档,但我仍然无法解决问题。
My system is macOS Catalina.我的系统是macOS Catalina。 It follows Erlang environment versions: ERLANG 22.2.1, LFE 1.3, REBAR3 3.12.0.它遵循Erlang环境版本: ERLANG 22.2.1 、 LFE 1.3、 REBAR3 3.12.0。
All installed with brew
.全部用brew
安装。 Please let me know if more details are needed.如果需要更多详细信息,请告诉我。
I would really appreciate any help.我真的很感激任何帮助。
I finally discovered that referencing lfe/clj
and lfe/lhc
is redudant, since these packages are indirectly and correctly referenced in implicit way from other ones.我终于发现引用lfe/clj
和lfe/lhc
是lfe/lhc
的,因为这些包是间接和正确地从其他包中以隐式方式引用的。
I've removed these from rebar.config , updated to latest syntax and used tag
when possible (otherwise master
).我已经从rebar.config 中删除了这些,更新为最新的语法并尽可能使用tag
(否则master
)。 I switched all URLs to use https://
instead of SSH with scheme git://
.我将所有 URL切换为使用https://
而不是 SSH 与方案git://
。
Now I'm able to get dependencies with rebar3 get-deps
and compile with rebar3 compile
.现在我可以使用rebar3 get-deps
获取依赖rebar3 get-deps
并使用rebar3 compile
。
Updated rebar.config :更新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.