无法在OSX上安装elixir 1.5

时间:2017-08-18 19:46:11

标签: macos erlang elixir homebrew

我在本地计算机上安装了erlang 19。

$ erl -s
>> Erlang/OTP 19 [erts-8.3] [source-d5c06c6] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false]

我用自制软件安装elixir

$ brew install elixir
==> Downloading https://homebrew.bintray.com/bottles/elixir-1.5.1.sierra.bo
Already downloaded: /Users/mkaravan/Library/Caches/Homebrew/elixir-1.5.1.sierra.bottle.tar.gz
    ==> Pouring elixir-1.5.1.sierra.bottle.tar.gz
  /usr/local/Cellar/elixir/1.5.1: 400 files, 5MB

检查elixir版本时出错:

$ elixir -v
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
init terminating in do_boot ()

Crash dump is being written to: erl_crash.dump...done

如何安装elixir 1.5?

编辑:我不记得我是如何安装Erlang的。我试图用自制软件删除它,但想出了这个错误:

$ brew uninstall --force erlang
Uninstalling erlang... (5,211 files, 259.7MB)
Error: Permission denied - /usr/local/Cellar/erlang/19.3/lib/erlang/lib/ic-4.4.2/java_src/com/ericsson/otp/ic/Any.java

我已尝试sudo Any.java和chmod,但无济于事。

1 个答案:

答案 0 :(得分:2)

您需要查看erl_crash.dump以了解更多信息。

这很可能是因为用于编译elixir二进制文件的Erlang版本与您安装的版本不同。 您的系统中似乎有两个erlang版本。

最好的做法是删除所有版本的Elixir和Erlang。

版本管理器建议erlang和elixir:

ASDF

https://github.com/asdf-vm/asdf

asdf设置:

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.3.0

# OR for Mac OSX and default shell
echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.bash_profile
echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bash_profile

将Erlang和Elixir添加为asdf插件

asdf plugin-add erlang
asdf plugin-add elixir

安装Erlang和Elixir

asdf install erlang 20.0
asdf install elixir 1.5.1

设置Erlang和Elixir全球版

asdf global erlang 20.0
asdf global elixir 1.5.1