我正在尝试将覆盖范围添加到我的项目中,但是不断遇到问题。
我尝试了错误中的所有建议此列表底部的消息。
我有一个大型项目,希望增加覆盖范围进行单元测试,但所有保险范围内的炸弹同样。
我用only混合了deps()开始了一个干净的项目“ bug”另外,以使干扰最小化。
任何帮助将不胜感激。
版本:
rebar3 --version
rebar 3.13.2 on Erlang/OTP 22 Erts 10.4.3
elixir --version
Erlang/OTP 22 [erts-10.4.3] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
Elixir 1.9.4 (compiled with Erlang/OTP 22)
erl --version
Erlang/OTP 22 [erts-10.4.3] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
Eshell V10.4.3 (abort with ^G)
deps中的mix.exs
defp deps() do
[
#{:coverex, "~> 1.5", only: [:test], runtime: false},
{:excoveralls, "~> 0.13.0", only: [:test], runtime: false},
{:idna, "~> 6.0.1"},
]
end
我使用了不同版本的Coverex和Excoveralls,但结果是相同的。
我注意到:
"Bad dependency version for httpoison (and others...)"
但是我也不知道该怎么办。
错误/警告消息似乎与依赖项有关。依赖关系不应该自己解决吗?
这里是列表:
=> mix clean
=> mix deps.get
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
certifi 2.5.2
excoveralls 0.13.0
hackney 1.16.0
idna 6.0.1 # Below it says idna 6.0.1 not found - why?
jason 1.2.1
metrics 1.0.1
mimerl 1.2.0
parse_trans 3.3.0
ssl_verify_fun 1.1.6
unicode_util_compat 0.5.0
All dependencies are up to date
Command completed
=> mix test # Try to run default test on a new repo
===> Package idna-6.0.1 not found. Fetching registry updates and trying again...
===> Updating package registry...
===> Writing registry to /home/cecilm/.cache/rebar3/hex/default/registry
===> Generating package index...
===> [appsignal:1.6.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.0-beta.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.3], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [batch_loader:0.1.0-beta.4], Bad dependency version for absinthe: ~> 1.4.0 or ~> 1.5.0-beta.
===> [prometheus_httpd:2.1.10], Bad dependency version for prometheus: ~> 3.5 or ~> 4.2.
===> [batch_loader:0.1.0-beta.5], Bad dependency version for absinthe: ~> 1.4.0 or ~> 1.5.0-beta.
===> [appsignal:1.7.0-alpha.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.7.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [batch_loader:0.1.0-beta.6], Bad dependency version for absinthe: ~> 1.4.0 or ~> 1.5.0-beta.
===> [appsignal:1.12.0], Bad dependency version for decorator: ~> 1.2.3 or ~> 1.3.
===> [appsignal:1.6.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.5], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6-beta.2], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.6], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.7], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [appsignal:1.6.4], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> [batch_loader:0.1.0-beta.3], Bad dependency version for absinthe: ~> 1.4.0 or ~> 1.5.0-beta.
===> [appsignal:1.6.0-alpha.1], Bad dependency version for httpoison: ~> 0.11 or ~> 1.0.
===> Writing index to /home/cecilm/.cache/rebar3/hex/default/packages.idx
===> Package not found in registry: {<<"idna">>,<<"6.0.1">>}.
(Mix) Could not compile dependency :hackney, "/home/cecilm/.mix/rebar3 bare
compile --paths="/home/cecilm/play/Elixir/bug/_build/test/lib/*/ebin"" command
failed. You can recompile this dependency with "mix deps.compile hackney",
update it with "mix deps.update hackney" or clean it with "mix deps.clean
hackney"
(来自elixirforum.com)
这样做:
rm -rf〜/ .cache / rebar3〜/ .mix deps _build mix deps.get
十六进制会告诉您是否有新版本可用,据我所知,通过mix local安装和使用的rebar版本。rebar由您使用的mix(solixer)版本决定。它受exact版本匹配的限制,而不是(语义)范围的限制。
因此,当十六进制告诉您可以在mix deps.get之后进行更新时,最好运行mix local.hex,而您应该在每次更新长生不老药之后运行mix local.rebar。
每周执行一次。某种与依赖性有关的棘手错误……