Пакет эликсира не найден в реестре:: hackney problem

Я пытаюсь добавить освещение в свой проект, но продолжаю сталкиваться с проблемами.

Я попытался выполнить все предложения, указанные в сообщении об ошибке внизу этого списка.

У меня есть большой проект, в котором я хочу добавить покрытие для unittest, но все пакеты покрытия одинаково взрываются.

Я начал чистый проект, «bug», с только добавлением mix deps (), чтобы минимизировать помехи.

Любая помощь будет оценена.

Версии:

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)

The mix.exs в deps

defp deps() do
  [
    #{:coverex, "~> 1.5", only: [:test], runtime: false},
    {:excoveralls, "~> 0.13.0", only: [:test], runtime: false},
    {:idna, "~> 6.0.1"},
  ]
end

Я использовал разные варианты coverex и excosuits, но результаты были одинаковыми.

Я заметил:

"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"

person Trailing Dots    schedule 02.06.2020    source источник
comment
Я не могу воспроизвести это в Elixir 1.10, но поиск по SO возвращает много проблем с idna. В первую очередь попробуйте обновить Elixir до последней версии.   -  person Aleksei Matiushkin    schedule 03.06.2020


Ответы (2)


Это проблема совместимости с rebar менеджером пакетов Erlang и зависимостью idna. Вам необходимо обновить арматуру в своем проекте, запустив

mix local.rebar

в командной строке. Это должно решить проблему.

person RedFred    schedule 20.06.2020
comment
@TrailingDots здесь, на SO, вы обязаны отметить правильный ответ зеленым флажком. Люди действительно помогают вам, пожалуйста, найдите время, чтобы помочь будущим посетителям. - person Aleksei Matiushkin; 03.11.2020

(из моего кросспоста на elixirforum.com)

Удаление локальных установок rebar3 и mix, а также выбранных в данный момент зависимостей и их скомпилированных версий решает эту проблему.

rm -rf ~/.cache/rebar3 ~/.mix deps _build 
mix deps.get

hex сообщит вам, доступны ли новые версии, насколько я помню, версия арматуры, установленная и используемая через mix local.rebar, определяется версией mix (т.е. elixir), которую вы используете. Он ограничен точным совпадением версии, а не (семантическим) диапазоном.

Поэтому хорошая привычка - запускать mix local.hex, когда hex сообщает вам, что он может быть обновлен после смешивания deps.get, тогда как вы должны запускать mix local.rebar после каждого обновления elixir.

Делайте это раз в неделю. Какая-то хитрая ошибка, связанная с зависимостями…

person Trailing Dots    schedule 03.06.2020
comment
Обычно вы принимаете ответ, даже если сами ответили на него, поэтому вы даете понять людям, которые позже найдут его, что он решил вашу проблему. - person A. Wilson; 14.06.2020