Error installing nokogiri 1.6.0 on mac (libxml2) Error installing nokogiri 1.6.0 on mac (libxml2) ruby ruby

Error installing nokogiri 1.6.0 on mac (libxml2)


I found the answer in another thread. The workaround I used is to tell Nokogiri to use the system libraries instead:

NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install


Create file build_nokogiri (or whatever) and fill in with:

#!/usr/bin/env rubyclass Version  attr_reader :major, :minor, :patch, :base  def initialize( str )    @base = str    base = File.basename str    @major, @minor, @patch = base.split('.').map &:to_i  end  def <=>(other)    return -1 if major < other.major    return 1 if major > other.mahor    return -1 if minor < other.minor    return 1 if minor > other.minor    return -1 if patch < other.patch    return 1 if patch > other.patch    0  end  def to_s    "##{self.class.name}{#@major #@minor #@patch  #@base}"  end  alias inspect to_s  alias dir base  def version    [major,minor,patch].compact.join('.')  endendclass Lookup < Version  class << self    attr_accessor :prefix  end  def self.find    Dir[ "/usr/local/Cellar/#{ full_name }/*" ].map { |c| new c }.sort.first  end  def self.full_name    [prefix, name.downcase].compact.join('')  end  %w{ include lib }.each { |m| define_method("#{m}_path") { "#{ base }/#{ m }" } }  def args    %w{ include lib }.map do |c|      "--with-#{ self.class.name.downcase }-#{c}=#{ send("#{ c }_path") }"    end.join(' ')  endendclass XML2 < Lookup  self.prefix = 'lib'  def include_path    "#{super}/#{ self.class.full_name }"  endendclass XSLT < Lookup  self.prefix = 'lib'  def args    "--with-xslt-dir=#{ dir }"  endendclass Iconv < Lookup  self.prefix = 'lib'endputs "Found:"a = [ XML2.find, XSLT.find, Iconv.find ]puts as="  gem install nokogiri -- #{ a.map(&:args).join(' ') } --use-system-libraries"puts sexec s

Give this file permission to execute.

Execute file.

This will automatically resolve dependencies installed using brew.