elixir+hex - 获取 ranch_proxy_protocol ssl:ssl_accept 3 的十六进制错误已弃用

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

enter code here我在 运行 下命令

mix ecto.create && mix ecto.migrate

给出错误

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

如何解决这个问题

这是我的依赖条目

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

我是长生不老药、十六进制和混合的新手。请帮忙解决这个问题。

erlang

OTP 21 版本的 ranch proxy protocolhttps://github.com/rabbitmq/rabbitmq-common/issues/269 已经存在问题

请将以下行添加到您的 mix.exs 文件

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

然后 运行 下面的命令

mix deps.cleans --all
mix deps.get

这应该可以解决问题