[英]mix deps.get failed (seems missing ssl?)
對不起,我是Elixir的新手。 在構建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已通過kerl和asdf安裝。 我的安裝日志在這里http://otiai10.hatenablog.com/entry/2016/02/03/154953
envirionment
發生了什么,我該怎么辦?
如果你不使用kerl
並且你已經做了brew install openssl
,他們為asdf添加了ERLANG_OPENSSL_PATH
選項,這樣你就可以做到
asdf plugin-update erlang
ERLANG_OPENSSL_PATH="/usr/local/opt/openssl" asdf install erlang 21.1
正如@biletskyy回答的那樣,在通過kerl安裝的Erlang上缺少SSL,與brew不同。
如果你想通過KERL_CONFIGURE_OPTIONS
用ssl構建Erlang,你應該傳遞KERL_CONFIGURE_OPTIONS
如下所示
KERL_CONFIGURE_OPTIONS="--with-ssl=/usr/local/opt/openssl" kerl build 18.0 18.0-foo
然后通過asdf安裝Elixir。 mix命令運行良好。
我沒有使用asdf並遇到同樣的問題。 我通常使用brew,但對於erlang,我使用evm,所以我可以有多個版本。
這似乎對我有所幫助: https : //github.com/robisonsantos/evm/issues/28
我正在使用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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.