Tôi đã cố gắng cài đặt Nokogiri trên Mac OS 10.9.3 và bất cứ điều gì tôi thử, cuối cùng cài đặt không thành công với thông báo lỗi sau:
$ 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 libiconv_open() in -liconv... no
-----
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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/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
Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.2.1 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.2.1/ext/nokogiri/gem_make.out
Sau khi làm theo rất nhiều trợ giúp được tìm thấy trên web bao gồm xây dựng và cài đặt libxml2 và libxslt bằng cách sử dụng brew và xây dựng libiconv từ các nguồn (như được mô tả trong " Cài đặt Nokogiri "), lỗi vẫn như cũ.
Khi cố gắng chạy cài đặt cho Nokogiri, libxml2 và libxslt dường như được tìm thấy tốt, nhưng không phải libiconv.
Bất cứ ai có kiến thức tốt hơn về những điều này đều biết cách cài đặt Nokogiri?
sudo gem install nokogiri
". Không sử dụng sudo
để cài đặt đá quý hoặc sửa đổi Ruby mặc định. Thay vào đó, hãy sử dụng rbenv hoặc RVM để quản lý một Ruby riêng biệt. Điều này được bao phủ nhiều lần trên Stack Overflow.
gem install nokogiri
, nhưng sau đó tôi sử dụng RVM để quản lý các bản cài đặt Mac OS Ruby của mình. libxml và libxslt không liên quan đến iconv, vì vậy tôi khuyên bạn nên đặt câu hỏi của bạn trên Nokogiri-talk , diễn đàn hỗ trợ của họ. Tôi không nhớ có bất kỳ vấn đề iconv nào khi cài đặt Nokogiri và tôi có nó trên một loạt các máy.