Unable to fetch anything from repo.hex.pm using mix

,

Hi,

I’m unable to fetch anything from Hex using mix commands like deps.update --all or local.rebar or local.hex.

I was trying in 2 different machines using 2 different ISP. There is no special firewalls or network traffic rules.

MIX_DEBUG=1 mix local.hex 
** Running mix loadconfig
** Running mix local.hex
** (Mix.Error) httpc request failed with: {:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet6, [:inet6], :exbadport}, {:inet, [:inet], :exbadport}]}

Could not install Hex because Mix could not download metadata at https://repo.hex.pm/installs/hex-1.x.csv.

    (mix) lib/mix.ex:323: Mix.raise/1
    (mix) lib/mix/local.ex:126: Mix.Local.find_matching_versions_from_signed_csv!/2
    (mix) lib/mix/tasks/local.hex.ex:56: Mix.Tasks.Local.Hex.run_install/1
    (mix) lib/mix/task.ex:316: Mix.Task.run_task/3
    (mix) lib/mix/cli.ex:79: Mix.CLI.run_task/2

Interesting is fact that Im able to fetch https://repo.hex.pm/installs/hex-1.x.csv using curl or wget.

curl -v https://repo.hex.pm/installs/rebar-1.x.csv

> GET /installs/rebar-1.x.csv HTTP/1.1
> User-Agent: curl/7.37.0
> Host: repo.hex.pm
> Accept: */*
> 
< HTTP/1.1 200 OK
< x-amz-id-2: vk8k7xdwkwLtPazsR66r21IYVcE6xJRJw5iBWCkwSyHA23wF075MYnD7xhWODXqd1/jq4oZWCE8=
< x-amz-request-id: 685B5A63315298EA
< x-amz-replication-status: COMPLETED
< Last-Modified: Tue, 28 Jun 2016 23:59:12 GMT
< ETag: "a5e57ed81098cf777bc319d6118eff50"
< Cache-Control: public, max-age=604800
< x-amz-meta-surrogate-key: installs
< x-amz-version-id: _0bG9Pxir6pB8zBlmt_v1mDuB_StPz9A
< Content-Type: text/csv
* Server AmazonS3 is not blacklisted
< Server: AmazonS3
< Content-Length: 282
< Accept-Ranges: bytes
< Date: Mon, 11 Feb 2019 20:20:47 GMT
< Via: 1.1 varnish
< Age: 512838
< Connection: keep-alive
< X-Served-By: cache-iad2136-IAD, cache-ams21020-AMS
< X-Cache: HIT, HIT
< X-Cache-Hits: 1, 4
< X-Timer: S1549916448.747493,VS0,VE0
< 
2.6.2,ff1c5ddfce1fcfd73fd65b8bfc0ff1c13aefc2e98921d528cbc1f35e86c9caa1c9c4e848b9ce6404d9a81c50cfcf0e45dd0dddb23cd42708664c41fce6618900,1.0.0
2.6.2,ff1c5ddfce1fcfd73fd65b8bfc0ff1c13aefc2e98921d528cbc1f35e86c9caa1c9c4e848b9ce6404d9a81c50cfcf0e45dd0dddb23cd42708664c41fce6618900,1.0.0
* Connection #0 to host repo.hex.pm left intact

Versions dump:

elixir --version
Erlang/OTP 21 [erts-10.2.3] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]

Elixir 1.7.4 (compiled with Erlang/OTP 21)

mix --version
Erlang/OTP 21 [erts-10.2.3] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]

Mix 1.7.4 (compiled with Erlang/OTP 21)

@b3k: How did you install Erlang and Elixir? Maybe try using asdf (version manager).

Installed from rpm packages, few weeks ago it was working perfectly (and I didn’t change anything in the meantime). Will try to reinstall whole Erlang ecosystem.

It looks like you’re connecting over ipv6, maybe there’s something wrong with your router or ISP’s ipv6 configuration?

Solved, after re-installation of all erlang/elixir packages everything starts working. Thanks for help guys!

Just one thing to note. Following:

You should try to call: curl -g -6 -v https://repo.hex.pm/installs/rebar-1.x.csv as your original command is using IPv4 by default and mix is trying to use IPv6 .

4 Likes