elixir+hex - getting hex error for ranch_proxy_protocol ssl:ssl_accept 3 deprecated

无人久伴 提交于 2019-12-24 01:10:37

问题


enter code hereI am running below command

mix ecto.create && mix ecto.migrate

which gives an error

    ===> Compiling ranch_proxy_protocol
===> Compiling src/ranch_proxy_ssl.erl failed
src/ranch_proxy_ssl.erl:90: ssl:ssl_accept/3: deprecated; use ssl:handshake/3 instead

** (Mix) Could not compile dependency :ranch_proxy_protocol, "/Users/a5634160/.mix/rebar3 bare compile --paths "/Users/a5634160/Documents/parc_web/pfom/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile ranch_proxy_protocol", update it with "mix deps.update ranch_proxy_protocol" or clean it with "mix deps.clean ranch_proxy_protocol"

How can this be fixed

Here is my dependency entry

defp deps do
    [{:phoenix, "~> 1.3"},
     {:phoenix_pubsub, "~> 1.0"},
     {:phoenix_ecto, "~> 3.3"},
     {:postgrex, ">= 0.0.0"},
     {:phoenix_html, "~> 2.11"},
     {:phoenix_live_reload, "~> 1.1", only: :dev},
     {:gettext, "~> 0.11"},
     {:cowboy, "~> 1.0"},
     {:absinthe, "~> 1.4"},
     {:absinthe_plug, "~> 1.4"},
     {:absinthe_ecto, "~> 0.1.3"},
     {:proper_case, "~> 1.0.0"},
     {:rbmq, "~> 0.4"},
     {:lager_logger, "~> 1.0"},
     {:quantum, "~> 2.2"},
     {:timex, "~> 3.0"},
     #{:amqp_client, "~> 3.6.7-pre.1", override: true},
     #{:rabbit_common, "~> 3.6.7-pre.1", override: true},
     {:httpoison, "~> 0.11.0"},
     {:confex, "~> 1.4"},
     {:cors_plug, "~> 1.5"},
     {:logger_file_backend, "~> 0.0.9"},
     {:distillery, "~> 1.1"},
     {:keycloak, "~> 0.2.0"},
     {:plug, "~> 1.4", override: true},
     {:poison, "~> 3.1", override: true}]
  end

I am new to elixir, hex and mix. Please help on this.


回答1:


There is already an issue raised for ranch proxy protocol https://github.com/rabbitmq/rabbitmq-common/issues/269 for OTP 21 version of erlang

Please add below line to your mix.exs file

 defp deps do
    [
      # Remove :ranch_proxy_protocol once :rabbit_common depends on a version newer than 1.5.0
      # See https://github.com/heroku/ranch_proxy_protocol/pull/42
      {:ranch_proxy_protocol,
       override: true,
       git: "https://github.com/heroku/ranch_proxy_protocol.git",
       ref: "4e0f73a385f37cc6f277363695e91f4fc7a81f24"},

and then run below commands

mix deps.cleans --all
mix deps.get

This should resolve the issue



来源:https://stackoverflow.com/questions/52475951/elixirhex-getting-hex-error-for-ranch-proxy-protocol-sslssl-accept-3-depreca

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!