Erlang mix deps.get失败(似乎缺少ssl?)

Erlang mix deps.get失败(似乎缺少ssl?),erlang,elixir,phoenix-framework,elixir-mix,Erlang,Elixir,Phoenix Framework,Elixir Mix,对不起,我对长生不老药还不熟悉。构建phoenix应用程序时,mix deps.get失败,出现错误 % mix deps.get Could not find Hex, which is needed to build dependency :phoenix Shall I install Hex? [Yn] y ** (MatchError) no match of right hand side value: {:error, {:ssl, {'no such file or direct

对不起,我对长生不老药还不熟悉。构建phoenix应用程序时,
mix deps.get
失败,出现错误

% mix deps.get
Could not find Hex, which is needed to build dependency :phoenix
Shall I install Hex? [Yn] y
** (MatchError) no match of right hand side value: {:error, {:ssl, {'no such file or directory', 'ssl.app'}}}
    (mix) lib/mix/utils.ex:409: Mix.Utils.read_httpc/1
    (mix) lib/mix/utils.ex:354: Mix.Utils.read_path/2
    (mix) lib/mix/local.ex:107: Mix.Local.read_path!/2
    (mix) lib/mix/local.ex:86: Mix.Local.find_matching_versions_from_signed_csv!/2
    (mix) lib/mix/tasks/local.hex.ex:23: Mix.Tasks.Local.Hex.run/1
    (mix) lib/mix/dep/loader.ex:140: Mix.Dep.Loader.with_scm_and_app/4
    (mix) lib/mix/dep/loader.ex:98: Mix.Dep.Loader.to_dep/3
    (elixir) lib/enum.ex:1043: anonymous fn/3 in Enum.map/2
%
erlang和elixir已通过和安装。 我的安装日志在这里

环境

  • MacOS:10.11.2
  • Erlang:18.0
  • 长生不老药:1.1.1

发生了什么事?我该怎么办?

正如@biletskyy回答的那样,通过kerl安装的Erlang上缺少SSL,这与通过brew不同

如果您想通过kerl使用ssl构建Erlang,您应该通过下面的
kerl\u CONFIGURE\u选项

KERL_CONFIGURE_OPTIONS="--with-ssl=/usr/local/opt/openssl" kerl build 18.0 18.0-foo
然后通过asdf安装Elixir。mix命令可以很好地工作


由于

如果您没有使用
kerl
,并且您已经安装了
brew openssl
,他们为asdf添加了选项,以便您可以这样做

asdf plugin-update erlang
ERLANG_OPENSSL_PATH="/usr/local/opt/openssl" asdf install erlang 21.1

我没有使用asdf,也有同样的问题。我通常使用brew,但对于erlang,我使用evm,因此可以有多个版本

这似乎对我有所帮助:

我正在使用EVM,需要将它指向openssl,以便让
mix deps.get
工作。就我而言,我在OTP 21.2上,所以我这样做了:

evm uninstall OTP_21.2
evm install OTP_21.2 --with-ssl=/usr/local/opt/openssl

从那以后,整个世界都很好。一旦我这样做了,我就可以运行
mix deps.get

您可以通过运行“mix local.hex”手动安装hex吗?谢谢您的评论!运行
mix local.hex
会给出相同的错误输出:(安装hex时似乎是一个错误,对吗?似乎是。可能您安装的Erlang没有SSL。然后您应该显式安装“Erlang SSL”包。此外,“asdf”手册还说您应该“OS X:通过自制autoconf openssl libyaml readline libxslt libtool unixodbc安装"。也许这会有帮助。谢谢!我尝试过使用
--启用动态ssl库
选项构建Erlang,但结果是一样的。然后我想尝试
--使用ssl
,但你知道在MacOS上在何处指定openssl库路径吗?--使用ssl=/usr/local/opt/opensslth asdf Erlang插件页面将此列为安装erla时的陷阱OSX上的ng: