2017-11-25 192 views
0

我搜索了整个网络寻找解决此错误的方法。但它不会让步。根据我的知识,我安装了所有的库和依赖项,甚至卸载了ruby和nokogiri并重新安装。但是这个错误仍然存​​在。 我正在尝试在红宝石中安装OpenGraph宝石

Gem files will remain installed in /home/$User/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/nokogiri-1.4.7 for inspection. 
 
Results logged to /home/$User/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0-static/nokogiri-1.4.7/gem_make.out

这是从这个位置gem_make.out日志文件 - > /.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/extensions/x86_64-linux/ 2.4.0静电/引入nokogiri-1.4.7/gem_make.out

ERROR: Error installing opengraph: 
 
\t ERROR: Failed to build gem native extension. 
 

 
    current directory: /home/$User/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/nokogiri-1.4.7/ext/nokogiri 
 
/home/$User/.rbenv/versions/2.4.2/bin/ruby -r ./siteconf20171125-15877-nibcps.rb extconf.rb --with-nokogiri-dir=/home/$User/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/ 
 
*** 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: 
 
\t --with-opt-dir 
 
\t --without-opt-dir 
 
\t --with-opt-include 
 
\t --without-opt-include=${opt-dir}/include 
 
\t --with-opt-lib 
 
\t --without-opt-lib=${opt-dir}/lib 
 
\t --with-make-prog 
 
\t --without-make-prog 
 
\t --srcdir=. 
 
\t --curdir 
 
\t --ruby=/home/$User/.rbenv/versions/2.4.2/bin/$(RUBY_BASE_NAME) 
 
extconf.rb:10:in `<main>': uninitialized constant Config (NameError) 
 
Did you mean? RbConfig 
 
       CONFIG 
 

 
extconf failed, exit code 1
我会很感激你,如果你能告诉我什么是错的。这是OpenGraph中的错误吗?

P.S:我没有使用opengraph_parser,因为它有一个回退方法。我需要opengraph宝石,因为我需要捕捉异常。

回答

0

它不是opengraph,而是nokogiri。

Nokogiri是opengraph的依赖项。 https://rubygems.org/gems/opengraph/versions/0.0.4

因此,它必须在您的机器上没有支持nokogiri(libxml2)所需的依赖关系。

安装你的机器上,这些依赖关系(上于Debian/Ubuntu假设你):

sudo apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev 

的Fedora /红帽/ CentOS的:

sudo yum install -y gcc ruby-devel zlib-devel 
sudo yum install -y rubygem-nokogiri (alternative) 

然后尝试通过gem install nokogiri安装引入nokogiri

对于其他变体或操作系统: http://www.nokogiri.org/tutorials/installing_nokogiri.html

于Fedora 26: 直至另行通知,安装引入nokogiri版本< 1.8

+0

Hi..thanks的答复。但我使用的是Fedora 26.你能告诉我Fedora或任何Redhat的类似依赖吗? – Meimo

+0

@Meimo ruby​​-devel zlib-devel。更新了我的答案。 – jemonsanto

+0

感谢您再次回复,但我试图安装这些依赖关系时...终端说“已安装,无事可做”。看到我告诉你,根据我的知识安装一切。但它只是不会安装。我认为这是一个错误。 – Meimo