5

I'm trying to fetch dependencies for my elixir project. I can't tell if Hex is down or not (I was able to fetch just fine this morning). When I run

$ mix deps.get

I see this:

    Failed to fetch record for 'hexpm/phoenix_live_reload' from registry (using cache)
{:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:option, :server_only, :honor_cipher_order}}]}
    Failed to fetch record for 'hexpm/phoenix_ecto' from registry (using cache)
{:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:option, :server_only, :honor_cipher_order}}]}
    Failed to fetch record for 'hexpm/phoenix' from registry (using cache)
{:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:option, :server_only, :honor_cipher_order}}]}
    Failed to fetch record for 'hexpm/phoenix_pubsub' from registry (using cache)
{:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:option, :server_only, :honor_cipher_order}}]}
    Failed to fetch record for 'hexpm/postgrex' from registry (using cache)
{:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:option, :server_only, :honor_cipher_order}}]}
    Failed to fetch record for 'hexpm/ex_machina' from registry (using cache)
{:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:option, :server_only, :honor_cipher_order}}]}
    Failed to fetch record for 'hexpm/jason' from registry (using cache)
{:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:option, :server_only, :honor_cipher_order}}]}

And so on for every dependency. What does :no_honor_cipher mean? Am I doing something wrong or is Hex down?

dopatraman
  • 13,416
  • 29
  • 90
  • 154
  • 1
    In case of this it's always best to check if your build environment can contact hex.pm. So, try `ping hex.pm` or `curl -L https://hex.pm`, and see what that tells you. – Christophe De Troyer Oct 01 '19 at 08:09
  • 6
    Try updating Hex with `mix local.hex` - `honor_cipher_order` is an option that the Erlang SSL client library has silently ignored until Erlang/OTP 22.1, so some libraries using it need updating. – legoscia Oct 01 '19 at 09:24
  • I was getting this too. I still have no idea what's going on. – Bitwise Oct 01 '19 at 13:09

2 Answers2

13

I faced the same error, for me the suggestion from @legoscia worked: update Hex with mix local.hex

Mark Schmidt
  • 143
  • 5
1

This looks like it's a bug in Hackney, that has been fixed in master, on Erlang 22.1, and in Hex shows up from version pinning problems... I'd make sure your mix.exs file has the correct (newest) versions of the dependencies it needs (like LiveView) or downgrade to a version of Erlang not 22.1 until your dependencies are updated.

This looks to be the root of the issue:

https://github.com/benoitc/hackney/issues/591

tehprofessor
  • 2,957
  • 1
  • 21
  • 22