Nokogiri bouwen op El Capitan

Gepubliceerd op 21 februari 2016 • 2 min leestijd • 215 woorden
Vorige week kon ik een van mijn websites niet genereren met Jekyll. Na wat onderzoek merkte ik dat het klaagde over Nokogiri. Ik had het probleem al…

Vorige week kon ik een van mijn websites niet genereren met Jekyll. Na wat onderzoek merkte ik dat het klaagde over Nokogiri. Ik had het probleem al eerder, maar ik had het niet goed genoeg gedocumenteerd, dus moest ik het hele proces opnieuw oplossen.
Het lijkt erop dat elke keer dat ik een update heb, beveiliging of niet, het compileren van Nokogiri fout gaat.

Ik kreeg allerlei foutmeldingen:

  • FOUT: Fout bij het installeren van nokogiri: FOUT: Kan de native extensie voor gem niet bouwen.
  • Kan de native extensie voor edelstenen niet bouwen. libxml2 versie 2.6.21 of hoger is vereist!

en meer heb ik helaas niet opgeschreven.

Hoewel de Nokogiri-website een goede installatiehandleiding had, werkte deze nog steeds niet op mijn Mac.

Na veel zoeken op internet heb ik mijn oplossing gevonden: het vanuit Brew naar de bibliotheken compileren.

Installeer eerst de bibliotheken met


bash
brew install libxml2 libxslt

en compileer het dan met:


bash
NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install nokogiri -- --use-system-libraries --with-iconv-dir=/usr/lib --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config" --with-xml2-include="$(brew --prefix libxml2)/include/libxml2" --with-xslt-config="$(brew --prefix libxslt)/bin/xslt-config"

Als je een bundel gebruikt om Jekyll uit te voeren, moet je de build-instellingen voor Nokogiri configureren met:


bash
bundle config build.nokogiri --use-system-libraries --with-iconv-dir=/usr/lib --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config" --with-xml2-include="$(brew --prefix libxml2)/include/libxml2" --with-xslt-config="$(brew --prefix libxslt)/bin/xslt-config"

bundle install

Dat deed voor mij de truc. Nu installeert de bundel Nokogiri zonder fouten.

Zie ook

    Follow me