我正试图用asdf安装Erlang(以及后来的Elixir(,但由于安装过程似乎冻结,我收到了一个关于jinterface
的错误:
➜ ~ asdf install erlang 22.1.1
Downloading OTP-22.1.1.tar.gz to /Users/me/.asdf/plugins/erlang/kerl-home/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 122 0 122 0 0 320 0 --:--:-- --:--:-- --:--:-- 321
100 52.4M 0 52.4M 0 0 7604k 0 --:--:-- 0:00:07 --:--:-- 9203k
Extracting source code
Building Erlang/OTP 22.1.1 (asdf_22.1.1), please wait...
APPLICATIONS DISABLED (See: /Users/me/.asdf/plugins/erlang/kerl-home/builds/asdf_22.1.1/otp_build_22.1.1.log)
* jinterface : Java compiler disabled by user
DOCUMENTATION INFORMATION (See: /Users/me/.asdf/plugins/erlang/kerl-home/builds/asdf_22.1.1/otp_build_22.1.1.log)
* documentation :
* fop is missing.
* Using fakefop to generate placeholder PDF files.
我看了https://github.com/asdf-vm/asdf-erlang
,上面写着
For example, to skip the java dependency during installation use:
$ export KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac"
$ asdf install erlang <version>
如果非要我猜测的话,这是一个java问题,所以当我尝试这个解决方案时,它不起作用,并且我得到了相同的输出。
你知道如何在不安装Java的情况下安装Erlang吗?我不记得这是Homebrew的问题,也就是说Homebrew需要Java编译器。
我怀疑它实际上并没有冻结——它正在编译Erlang,但隐藏了所有输出。给它十到二十分钟左右,它就应该完成了。
您可以使用top
对此进行验证。编译Erlang是CPU密集型的,因此您应该能够轻松发现CPU使用率接近100%的C和Erlang编译器。
您可以使用跟踪进度
tail -f /Users/me/.asdf/plugins/erlang/kerl-home/builds/asdf_22.1.1/otp_build_22.1.1.log
您可以安装所有依赖项,而不用在没有jinterface的情况下尝试。这个修复我在这里找到它工作
sudo apt-get install automake autoconf libreadline-dev libncurses-dev
libssl-dev libyaml-dev libxslt-dev libffi-dev libtool unixodbc-dev
libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libssh-dev xsltproc fop
libxml2-utils
如果你在1GB内存这样的小型服务器上安装,如果编译失败,增加交换内存会有所帮助,我需要一段时间才能修复。