我想跑
bundle exec rake fixtures:populate_from_db
在CentOS上,但我收到以下警告信息:
WARNING: Nokogiri was built against LibXML version 2.9.1, but has dynamically loaded 2.8.0
rake aborted!
~/.bundle/config
文件包含:
BUNDLE_BUILD__NOKOGIRI: "--with-xml2-include=/opt/local/include/libxml2 --with-xml2-lib=/opt/local/lib --with-xslt-dir=/opt/local"
我应该如何再次编译Nokogiri 2.8.0版本的LibXML?
答案 0 :(得分:4)
尝试跑步:
gem update --system
& gem pristine nokogiri
为我工作。
答案 1 :(得分:1)
以下步骤解决了我的问题
gem uninstall nokogiri # remove nokogiri
NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install
结合来自的解决方案 https://simonharrer.wordpress.com/2013/05/01/fixing-nokogiri-warning-after-ubuntu-upgrade/ 和 https://github.com/sparklemotion/nokogiri/wiki/What-to-do-if-libxml2-is-being-a-jerk
答案 2 :(得分:0)
试试这个:
gem install nokogiri -- --with-xml2-include=/usr/include/libxml2/libxml --with-xml2-lib=/usr/lib64/ --with-sxlt-include=/usr/include/libxslt --with-xslt-lib=/usr/lib64/
答案 3 :(得分:0)
我知道这听起来很愚蠢,但请尝试将Nokogiri放在Gemfile的顶部。这适用于其他宝石在原生扩展上发生冲突的某些情况
答案 4 :(得分:0)
我在Nokogiri的v1.5.11上锁定了一个旧的应用程序,我无法在Debian 9上摆脱这个问题,直到我将Nokogiri升级到v1.6.8.1
答案 5 :(得分:0)
gem update --system & gem pristine nokogiri
gem install nokogiri
(建立在@Jonny answer上-谢谢 !)
我的错误与标题中的错误相同。
运行他的命令后,运行ruby脚本失败,并显示以下错误:
/Users/username/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- nokogiri (LoadError)
from /Users/username/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:92:in `require'
from my_ruby_script.rb:3:in `<main>'
然后我再次添加以运行gem install nokogiri
,一切恢复正常。