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

oti*_*i10 8 erlang elixir-mix elixir phoenix-framework

对不起,我是Elixir的新手.在构建凤凰应用程序时,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
%
Run Code Online (Sandbox Code Playgroud)

erlang和elixir已通过kerlasdf安装.我的安装日志在这里http://otiai10.hatenablog.com/entry/2016/02/03/154953

envirionment

  • MacOS:10.11.2
  • Erlang:18.0
  • Elixir:1.1.1

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

Joz*_*vik 16

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

asdf plugin-update erlang
ERLANG_OPENSSL_PATH="/usr/local/opt/openssl" asdf install erlang 21.1
Run Code Online (Sandbox Code Playgroud)


oti*_*i10 6

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

如果你想通过kerl用ssl构建Erlang,你应该通过KERL_CONFIGURE_OPTIONS如下所示

KERL_CONFIGURE_OPTIONS="--with-ssl=/usr/local/opt/openssl" kerl build 18.0 18.0-foo
Run Code Online (Sandbox Code Playgroud)

然后通过asdf安装Elixir.mix命令运行良好.

感谢@biletskyy