我正在尝试在 ruby 中安装 OpenGraph gem
I'm trying to install OpenGraph gem in ruby
我搜索了整个网络以寻找克服此错误的方法。但它不会让步。根据我的知识,我安装了所有库和依赖项,甚至卸载了 ruby 和 nokogiri,然后重新安装。但是这个错误仍然存在。
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-static/nokogiri-1.4.7/gem_make.out
ERROR: Error installing opengraph:
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:
--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/.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 的 bug。
P.S:我没有使用 opengraph_parser,因为它有后备方法。我需要 opengraph gem 因为我需要捕获异常。
这不是 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/Red Hat/CentOS:
sudo yum install -y gcc ruby-devel zlib-devel
sudo yum install -y rubygem-nokogiri (alternative)
然后尝试通过 gem install nokogiri
安装 nokogiri
对于其他变体,或 OS:
http://www.nokogiri.org/tutorials/installing_nokogiri.html
对于 Fedora 26:
在另行通知之前,安装 nokogiri 版本 < 1.8
我搜索了整个网络以寻找克服此错误的方法。但它不会让步。根据我的知识,我安装了所有库和依赖项,甚至卸载了 ruby 和 nokogiri,然后重新安装。但是这个错误仍然存在。
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-static/nokogiri-1.4.7/gem_make.out
ERROR: Error installing opengraph:
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:
--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/.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
P.S:我没有使用 opengraph_parser,因为它有后备方法。我需要 opengraph gem 因为我需要捕获异常。
这不是 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/Red Hat/CentOS:
sudo yum install -y gcc ruby-devel zlib-devel
sudo yum install -y rubygem-nokogiri (alternative)
然后尝试通过 gem install nokogiri
对于其他变体,或 OS: http://www.nokogiri.org/tutorials/installing_nokogiri.html
对于 Fedora 26: 在另行通知之前,安装 nokogiri 版本 < 1.8