无法安装Stanford-Core-NLP Gem

时间:2013-10-18 00:23:26

标签: ruby gem

我正在尝试安装Stanford-Core-NLP gem,这是github上使用Ruby进行自然语言处理的主要项目之一。它为Stanford-Core-NLP pakage提供了Ruby绑定,用Java编写。当我尝试按照安装说明的第一步,即:

gem install stanford-core-nlp

我收到以下错误:

ERROR:  Error installing stanford-core-nlp:
ERROR: Failed to build gem native extension.

/home/user/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/home/user/.rvm/rubies/ruby-1.9.2-p320/bin/ruby
extconf.rb:53:in `<main>': JAVA_HOME is not set. (RuntimeError)

我正在运行Ruby 1.9.2,根据repo,它是gem测试的最新版本和Java 1.7.0_40。我也尝试过查找mkmf.log文件,但无法找到它。

2 个答案:

答案 0 :(得分:4)

这是因为JAVA_HOME在sudo模式下被重置。要解决此问题,请打开/etc/sudoers文件,添加以下行并保存。

Defaults   env_keep += "JAVA_HOME"

现在重新打开终端并安装gem。

答案 1 :(得分:0)

我在Ubuntu上一直在努力解决这个问题。可靠的工作(尽管它是一个大锤)是:

this.likes.set(i,this.likes.get(i) + likes.get(i));

安装脚本对JAVA_HOME的格式敏感 - 它不应以斜杠字符结尾。