问题
enter code here
I 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