将 wallaby 添加到我的 Elixir/Phoenix 项目时无法编译依赖项 :mimerl
Could not compile dependency :mimerl when adding wallaby to my Elixir/Phoenix project
我是 Elixir/Phoenix 的新手,我现在想使用 Wallaby(或 Hound,但这是同一个问题)编写测试。
供您参考,我使用的是 Docker 图片。
我正在尝试让 Cabbage and Wallaby 工作,但是一旦我将 Wallaby 依赖项添加到我的项目中:
...
defp deps do
{:phoenix, "~> 1.3.0"},
...
{:cowboy, "~> 1.0"},
{:wallaby, "~> 0.19.2"}
end
...
然后我在 运行 mix test
:
时出现以下错误
escript: exception error: no match of right hand side value undefined
in function rebar_log:log/3 (/home/tristan/Devel/rebar3/_build/default/lib/rebar/src/rebar_log.erl, line 94)
in call from rebar3:handle_error/1 (/home/tristan/Devel/rebar3/_build/default/lib/rebar/src/rebar3.erl, line 325)
in call from escript:run/2 (escript.erl, line 759)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
** (Mix) Could not compile dependency :mimerl, "/root/.mix/rebar3 bare compile --paths "/application/_build/test/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile mimerl", update it with "mix deps.update mimerl" or clean it with "mix deps.clean mimerl"
有人知道我为什么会出现此错误以及我该如何解决它吗?
您可以添加 ,仅在依赖版本之后添加::test 并尝试 运行 mix deps.get 之前 运行 混合测试
我终于弄清楚是什么导致了这个问题:代理!
我第一次尝试手动 运行 这个 rebar3 过程:
docker run --rm -it <container-name> /root/.mix/rebar3
而且我已经遇到了错误。
在容器中四处游玩,我发现删除代理使进程不再通过任何错误。
所以,不管 Docker,都是关于取消设置我机器的公司代理,以便让它通过 public 网络工作。
我是 Elixir/Phoenix 的新手,我现在想使用 Wallaby(或 Hound,但这是同一个问题)编写测试。
供您参考,我使用的是 Docker 图片。
我正在尝试让 Cabbage and Wallaby 工作,但是一旦我将 Wallaby 依赖项添加到我的项目中:
...
defp deps do
{:phoenix, "~> 1.3.0"},
...
{:cowboy, "~> 1.0"},
{:wallaby, "~> 0.19.2"}
end
...
然后我在 运行 mix test
:
escript: exception error: no match of right hand side value undefined
in function rebar_log:log/3 (/home/tristan/Devel/rebar3/_build/default/lib/rebar/src/rebar_log.erl, line 94)
in call from rebar3:handle_error/1 (/home/tristan/Devel/rebar3/_build/default/lib/rebar/src/rebar3.erl, line 325)
in call from escript:run/2 (escript.erl, line 759)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
** (Mix) Could not compile dependency :mimerl, "/root/.mix/rebar3 bare compile --paths "/application/_build/test/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile mimerl", update it with "mix deps.update mimerl" or clean it with "mix deps.clean mimerl"
有人知道我为什么会出现此错误以及我该如何解决它吗?
您可以添加 ,仅在依赖版本之后添加::test 并尝试 运行 mix deps.get 之前 运行 混合测试
我终于弄清楚是什么导致了这个问题:代理!
我第一次尝试手动 运行 这个 rebar3 过程:
docker run --rm -it <container-name> /root/.mix/rebar3
而且我已经遇到了错误。 在容器中四处游玩,我发现删除代理使进程不再通过任何错误。
所以,不管 Docker,都是关于取消设置我机器的公司代理,以便让它通过 public 网络工作。