我一直在尝试在Mac OS 10.9.3上安装Nokogiri,无论我尝试什么,安装最终都会失败,并显示以下错误消息:
$ sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
Building native extensions with: '--with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib'
This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
Building nokogiri using packaged libraries.
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for …Run Code Online (Sandbox Code Playgroud) 我尝试克隆这个仓库并运行bundle install.捆绑过程失败并抛出此错误:
...
Installing nokogiri 1.6.2.1 with native extensions
Building nokogiri using packaged libraries.
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/zulhilmizainudin/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20151130-43880-pntnc6.rb extconf.rb
Building nokogiri using packaged libraries.
-----
libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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 …Run Code Online (Sandbox Code Playgroud) 更新:已修复
我在另一个帖子中找到了答案.我使用的解决方法是告诉Nokogiri使用系统库:
NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install
Run Code Online (Sandbox Code Playgroud)
====
试图在Mac上安装nokogiri 1.6.0.在以前的版本中,我没有遇到任何问题.但1.6.0拒绝安装.这是错误:
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/Users/josenriq/.rvm/rubies/ruby-1.9.3-head/bin/ruby extconf.rb
Extracting libxml2-2.8.0.tar.gz into tmp/i686-apple-darwin11/ports/libxml2/2.8.0... ERROR
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Read 3 bytes from /Users/josenriq/.rvm/gems/ruby-1.9.3-head@wdi/gems/nokogiri-1.6.0/ports/archives/libxml2-2.8.0.tar.gz
tar: Error exit delayed from previous errors
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably …Run Code Online (Sandbox Code Playgroud) 我正在尝试为vagrant(1.5.1)安装rackspace插件:
vagrant plugin install vagrant-rackspace
Run Code Online (Sandbox Code Playgroud)
但它抱怨道
Bundler是Vagrant用于安装插件的底层系统,报告了一个错误.错误如下所示.这些错误通常是由错误配置的插件安装或瞬态网络问题引起的.Bundler的错误是:
安装nokogiri(1.6.1)时发生错误,Bundler无法继续.
gem install nokogiri -v '1.6.1'在捆绑之前确保成功.
然而gem install nokogiri -v '1.6.1',/Applications/Vagrant/embedded/bin/gem install nokogiri -v '1.6.1'两者都有效.
我看过一堆SO主题和博客文章.我尝试过的东西没用
xcode-select --install尽管nokogiri安装得很好(上面#5)没有sudo,vagrant plugin install vagrant-rackspace但仍然失败......
所以,总之,我可以安装nokogiri插件,但是我无法安装vagrant rackspace插件,你能帮我安装插件吗?
相关主题
我正在尝试在我的计算机上安装Rails 4.2.0,但我在安装Nokogiri时遇到问题.我按照第一个答案中的步骤" 捆绑安装停在Nokogiri ",但是当我跑步时brew install nokogiri,我得到以下内容:
Activating libxslt 1.1.28 (from /Users/dseibert/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin14.0.0/libxslt/1.1.28)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
-----
libxml2 is missing. Please locate mkmf.log to investigate how it is failing.
-----
*** 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 …Run Code Online (Sandbox Code Playgroud) 由于 Mavericks 在运行时有时会在选择正确的 C 编译器时遇到一些问题,因此bundle install我必须安装一些带有特殊标志的 gem。
一个例子是我必须运行:gem install nokogiri -- --use-system-libraries. 此处进一步讨论:Error to install Nokogiri on OSX 10.9 Maverick?
所以我的问题是:有没有办法在安装 nokogiri 时告诉 bundler 使用系统库?或者有没有办法告诉gem install它应该安装为“部署”-gem。
任何其他关于如何解决这个问题或为什么我会遇到它的建议都会非常受欢迎。