[英]Could not compile dependency :mimerl when adding wallaby to my Elixir/Phoenix project
我是Elixir / Phoenix的新手,现在正在寻找使用Wallaby(或Hound,但这是同一个问题)编写测试的方法。
供您参考,我正在使用Docker映像。
我正在尝试使Cabbage和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"
谁知道我为什么会有这个错误以及如何解决这个错误?
我终于弄清楚了导致此问题的原因:代理!
我首先尝试手动运行此rebar3进程:
docker run --rm -it <container-name> /root/.mix/rebar3
而且我已经有错误了。 在容器中玩耍时,我发现删除代理不会使该过程不再出现任何错误。
因此,无论使用Docker,都是为了取消我的机器的公司代理,以使其通过公共网络工作。
您可以在依赖项的版本之后添加,only::test ,然后尝试并在运行mix test之前运行mix deps.get
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.