在Yosemite Mac OS X 10.10上缺少安装nokogiri libiconv的失败

Max*_*ler 17 gem nokogiri osx-yosemite

试图安装Nokogiri我收到以下错误

Maxims-MacBook-Air:ScrapingTheApple maximveksler$ gem install nokogiri
Fetching: nokogiri-1.6.2.1.gem (100%)
Building native extensions.  This could take a while...
Building nokogiri using packaged libraries.
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    /Users/maximveksler/.rvm/rubies/ruby-2.1.2/bin/ruby 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 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=/Users/maximveksler/.rvm/rubies/ruby-2.1.2/bin/ruby
    --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

extconf failed, exit code 1

Gem files will remain installed in /Users/maximveksler/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.2.1 for inspection.
Results logged to /Users/maximveksler/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.2.1/gem_make.out
Run Code Online (Sandbox Code Playgroud)

fie*_*edl 31

引入nokogiri安装教程提供了解决方案:

# bash
brew unlink gcc
gem uninstall nokogiri
xcode-select --install
gem install nokogiri
Run Code Online (Sandbox Code Playgroud)

如果您还没有Xcode 6.1,则可以从Apple开发人员下载站点(其他工具部分)安装它,如本博文中所述.


小智 16

我建议更新Oskar的答案,将MacOSX10.9.sdk替换为MacOSX10.10.sdk,在OS X 10.10上测试

gem install nokogiri -- \
--with-iconv-lib=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib \
--with-iconv-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include
Run Code Online (Sandbox Code Playgroud)


小智 8

我成功了:

gem install nokogiri -- \
--with-iconv-lib=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib \
--with-iconv-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
Run Code Online (Sandbox Code Playgroud)


Val*_*von 6

没有酿造和其他东西:

xcode-select --install 
gem install nokogiri -- --use-system-libraries
Run Code Online (Sandbox Code Playgroud)


San*_*awy 5

在我的情况下,我已升级Xcode并忘记安装命令行工具,因此安装无法运行编译器.

以下安装命令行工具:

xcode-select --install