麻烦在Mac OS X Yosemite v.10.10.1上安装Nokogiri因为libxml2升级到Rails 4.2.0

时间:2015-02-01 01:19:45

标签: ruby-on-rails nokogiri osx-yosemite libxml2

我正在尝试在我的计算机上安装Rails 4.2.0,但是我在安装Nokogiri时遇到了问题。我按照“bundle install stopped at 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 configuration options.

Provided configuration options:
    --with-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=/Users/dseibert/.rvm/rubies/ruby-2.2.0/bin/$(RUBY_BASE_NAME)
    --help
    --clean
    --use-system-libraries
    --enable-static
    --disable-static
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --enable-cross-build
    --disable-cross-build
    --with-xml2lib
    --without-xml2lib
    --with-libxml2lib
    --without-libxml2lib

extconf failed, exit code 1

Gem files will remain installed in /Users/dseibert/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2 for inspection.
Results logged to /Users/dseibert/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0/nokogiri-1.6.6.2/gem_make.out

我找不到mkmf文件来查找我的libxml2文件的详细信息,我在Ruby源文件夹中看不到libxml2文件或Nokogiri文件夹。

当我运行brew install libxml2时,我得到Warning: libxml2-2.9.2 already installed


在评论之后,我收到了回复:Successfully installed nokogiri-1.6.6.2。但是当我跑sudo gem install rails时,我又回到了上面的错误。

2 个答案:

答案 0 :(得分:4)

试试这个

gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2/

这适用于OSX 10.11 El Capitan

答案 1 :(得分:1)

试试这个:

strncpy

这适用于已安装的rails 4.2.0,OS X 10.11.2 El Capitan和Xcode 7.2.1 你将在运行bundler时获得:

bundle config build.nokogiri --use-system-libraries
bundle install