156 votes

Nokogiri installation échoue - libxml2 est manquant

J'ai toujours travaillé mon chemin autour de Nokogiri en suivant ce lien pour nokogiri tutoriel.

http://nokogiri.org/tutorials/installing_nokogiri.html

mais cette fois, même après avoir installé toutes les dépendances, nokogiri gem ne marche pas installés. J'obtiens l'erreur suivante.

libxml2 is missing.  please visit <http://nokogiri.org/tutorials/installing_nokogiri.html>

j'ai donc essayé de l'installer en spécifiant la libxml2 et libxslt dirs

sudo gem install nokogiri -- --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib --with-xslt-dir=/usr/

mais ça donne la même erreur.

j'ai suivi toutes les autres stackoverflow articles et aucun aidé. quelqu'un a une idée sur la solution du problème.

244voto

Ryan Points 4221

En fait, vous devrez installer les deux de ces paquets

161voto

Erik Peterson Points 1768

Tout d'abord, il faut installer les dépendances:

sudo apt-get install libxslt-dev libxml2-dev

Si vous recevez toujours le message d'erreur, vous pouvez passer à un compilateur de la chaîne:

sudo apt-get install build-essential

Vous obtiendrez le 'libxml2 est manquant erreur s'il vous manque une accumulation de la chaîne (à moins que j'ai rencontré ce problème sur une Debian Lenny).

Le nokogiri création de données de test-compile un libxml2 fichier d'en-tête pour vérifier qu'il est présent, cependant, il ne fait pas la différence entre "libxml2 est manquant" et "un compilateur pour tester libxml2 est manquant".

60voto

eduardo Points 650

Dans Mac OS X (Mavericks), installer les bibliothèques avec brew et réglage de l' NOKOGIRI_USE_SYSTEM_LIBRARIES=1 avant d'installer le gem a fait le tour pour moi.

Résumant:

  • Si déjà installé, désinstallez-le bijou:
    $ gem uninstall nokogiri

  • Utiliser Homebrew installer libxml2, libxslt et libiconv:
    $ brew install libxml2 libxslt libiconv

  • Installer le gem spécifier les chemins d'accès aux bibliothèques liées à l'encontre de:
    $ NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install nokogiri -- --use-system-libraries --with-iconv-dir="$(brew --prefix libiconv)" --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config" --with-xslt-config="$(brew --prefix libxslt)/bin/xslt-config"

21voto

Sojoodi Points 261

J'ai juste eu le même problème sur Fedora 13. Après une source de frustration et de recherche infructueuse pour faire gem install nokogiri de travail pour moi, j'ai été capable de l'installer et de l'obtenir autour de la libxml2 erreur via yum.

Il suffit d'installer le gem via yum , au lieu de l' gem commande:

su

yum search rubygem-nokogiri #this find the proper package name

yum install rubygem-nokogiri.i686

Mise à JOUR: Cela m'a aidé à trouver la bonne réponse pour fedora et comme je suis à l'aide de rvm pour le rubis de gestion de paquets yum install rubygem-nokogiri va tirer dans tous les gems ruby et les dépendances dans le système, pas dans mon rvm de l'environnement; et, dans mon expérience, conduit à une très frustrant et humiliant de l'environnement.

Donc, en prenant votre trouver de la nokogiri yum bijou que vous pouvez utiliser:

yum fournit rubygem-nokogiri

et obtenir une liste des dépendances rubygem-nokogiri qui m'a montré les bibliothèques qui ont disparu. et après j'ai couru:

yum install libxml2-devel libxslt libxslt-devel

maintenant nokogiri compile parfaitement dans fedora et nokogiri installe. Oh pinaise!, nous devons les en-têtes de compiler nokogiri à partir du développement des bibliothèques.

13voto

pduersteler Points 5893

Vous devez généralement des fichiers de développement pour la construction de pierres précieuses. Essayez

``

Edit : viens de voir que Eric suggéré la même chose dans un commentaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X