在没有jinterface的情况下使用asdf安装erlang



我正试图用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内存这样的小型服务器上安装,如果编译失败,增加交换内存会有所帮助,我需要一段时间才能修复。

相关内容

  • 没有找到相关文章

最新更新