繁体   English   中英

将小袋鼠添加到我的Elixir / Phoenix项目时,无法编译依赖项:mimerl

[英]Could not compile dependency :mimerl when adding wallaby to my Elixir/Phoenix project

我是Elixir / Phoenix的新手,现在正在寻找使用Wallaby(或Hound,但这是同一个问题)编写测试的方法。

供您参考,我正在使用Docker映像。

我正在尝试使CabbageWallaby正常工作,但是一旦我将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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM