2017-08-18 61 views
1

我在本地机器上安装了erlang 19。在OSX上安装elixir 1.5问题

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

我安装仙丹与自制

$ 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 -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 

如何安装灵药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

@JustinWood见上面编辑 –

+1

你有没有试过'''酿造博士'''? – Pfitz

回答

2

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

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

最好的行动方式是删除所有版本的Elixir和Erlang。

版本管理建议对Erlang和灵药:

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和药剂作为航空自卫队插件

asdf plugin-add erlang 
asdf plugin-add elixir 

安装Erlang和药剂

asdf install erlang 20.0 
asdf install elixir 1.5.1 

一套Erlang和药剂的全球版本

asdf global erlang 20.0 
asdf global elixir 1.5.1 
+0

事实证明,我的问题很大一部分是我没有安装JDK。但是,这非常有帮助,肯定会继续使用它。 –