rebar3 无法获取和复制依赖项(LFE 项目)
rebar3 fails to fetch and copy dependencies (LFE project)
几年后我想回到 Erlang/LFE 工作。我制作了 little project 来学习这门语言。我无法使用 rebar3 get-deps
命令获取依赖项。
遵循rebar.config,也可用here.
{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...但是如果我删除所有依赖并再次尝试添加它们:第一个失败的是 clj
。然而,在 rebar.config
处于原始状态的情况下,我在 rebar3 get-deps
之后得到了以下输出。完成输出 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"}
我检查了一个similar question and documentation,但我仍然无法解决问题。
我的系统是 macOS Catalina。它遵循 Erlang 环境版本:
ERLANG22.2.1,LFE1.3,REBAR33.12.0.
全部安装 brew
。如果需要更多详细信息,请告诉我。
非常感谢任何帮助。
我终于发现引用 lfe/clj
和 lfe/lhc
是多余的,因为这些包是从其他包以隐式方式间接和正确引用的。
我已经从 rebar.config 中删除了这些,更新到最新语法并尽可能使用 tag
(否则 master
)。我将 所有 URL 切换为使用 https://
而不是 SSH 方案 git://
.
现在我可以使用 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"}}}
]}.
几年后我想回到 Erlang/LFE 工作。我制作了 little project 来学习这门语言。我无法使用 rebar3 get-deps
命令获取依赖项。
遵循rebar.config,也可用here.
{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...但是如果我删除所有依赖并再次尝试添加它们:第一个失败的是 clj
。然而,在 rebar.config
处于原始状态的情况下,我在 rebar3 get-deps
之后得到了以下输出。完成输出 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"}
我检查了一个similar question and documentation,但我仍然无法解决问题。
我的系统是 macOS Catalina。它遵循 Erlang 环境版本: ERLANG22.2.1,LFE1.3,REBAR33.12.0.
全部安装 brew
。如果需要更多详细信息,请告诉我。
非常感谢任何帮助。
我终于发现引用 lfe/clj
和 lfe/lhc
是多余的,因为这些包是从其他包以隐式方式间接和正确引用的。
我已经从 rebar.config 中删除了这些,更新到最新语法并尽可能使用 tag
(否则 master
)。我将 所有 URL 切换为使用 https://
而不是 SSH 方案 git://
.
现在我可以使用 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"}}}
]}.