Skip to content

Instantly share code, notes, and snippets.

Forked from fabioyamate/nokogiri
Created December 18, 2010 23:30
Show Gist options
  • Star 22 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save softprops/746966 to your computer and use it in GitHub Desktop.
Save softprops/746966 to your computer and use it in GitHub Desktop.
# using rvm with ruby-1.8.7-p249
# latest version 2.7.7 2010-06-17
brew install libxml2
# installing libxslt from source code
tar xvfz libxslt-1.1.26.tar.gz
cd libxslt-1.1.26
./configure --prefix=/usr/local/Cellar/libxslt/1.1.26 --with-libxml-prefix=/usr/local/Cellar/libxml2/2.7.7
sudo make install
# installing nokogiri with this new compiled libs
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.7/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.7/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26
Copy link

Thank you so much for the instruction!

I also want to add a bit side comment: If you upgrade to Mac OS Lion AFTER you install the RVM, ruby, DevCoder, you need to refresh them:

Copy link

I've found libiconv lurking in my libxslt. And the Nokogiri installation instructions only recommend you instal libxml2 and libxslt. So on my (pretty standard) OS X Mountain Lion install, this works for me:

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libxslt/1.1.26/include --with-iconv-lib=/usr/local/Cellar/libxslt/1.1.26/lib

I really try to avoid gems that depend on Nokogiri because this always trips me up and I find it incredibly annoying.

Copy link

haggen commented Jun 4, 2014

Nothing worked with me.

$ brew install libiconv


Error: No available formula for libiconv
Apple distributes libiconv with OS X, you can find it in /usr/lib.
Some build scripts fail to detect it correctly, please check existing
formulae for solutions.

And any attempt to build libiconv from source returns:

builddir="`pwd`"; cd libcharset && /Applications/ all && /Applications/ install-lib libdir="$builddir/lib" includedir="$builddir/lib"
/bin/sh: line 0: cd: libcharset: No such file or directory
make: *** [lib/localcharset.h] Error 1

Copy link

pkpp1233 commented Jul 8, 2014

same problem as haggen

Copy link

arojoal commented Jul 9, 2014

same problem for me.

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/rojalval/.rvm/rubies/ruby-2.0.0-p481/bin/ruby extconf.rb

Building nokogiri using packaged libraries.

libiconv is missing. please visit 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:

extconf failed, exit code 1

Copy link

arojoal commented Jul 9, 2014

I've solved it by installing XCode ComandLine tools:

xcode-select --install

Copy link

ghost commented Aug 12, 2014

Thanks for:
xcode-select --install

It solved the problem for me too

Copy link

As a self-contained solution, I wrote a Ruby script that just installs Nokogiri using Homebrew's libraries instead of Apple's. It seems to flawlessly solve the issue on normal systems; I've used it twice without any issues. You can choose whether to install using either RubyGems or Bundler. Contributions or suggestions are welcome!

Copy link

I can confirm xcode-select --install worked for me. Thanks @arojoal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment