2013-10-18 49 views
2

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

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,是gem已经过测试的最新版本和Java 1.7.0_40。我也试过寻找mkmf.log文件,但无法找到它。

+3

是你的JAVA_HOME集? – kristianp

+0

@kristianp感谢您的回复。为了回答你的问题,我认为它没有正确设置。我只是尝试根据三个不同的教程来设置它,但当我尝试安装gem时,仍然收到相同的错误消息。 – HMLDude

+0

你正在运行哪个操作系统? 'ruby -v'说什么? –

回答

4

这是因为JAVA_HOME在sudo模式下得到重置。要修复它,请打开/etc/sudoers文件添加以下行并保存。

Defaults env_keep += "JAVA_HOME" 

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

0

我一直在Ubuntu上摔跤。该工作可靠(尽管它是一个大锤)的事情是:

JAVA_HOME=/usr/lib/whatever gem install stanford-core-nlp 

安装脚本是JAVA_HOME的格式敏感 - 它不应该在一个斜线字符结束。