Running 'compile' for libxslt 1.1.28... OK
Running 'install' for libxslt 1.1.28... OK
Activating libxslt 1.1.28 (from /Users/Kartik/.rbenv/versions/2.1.3/lib/Ruby/gems/2.1.0/gems/nokogiri-1.6.4.1/ports/x86_64-Apple-darwin14.0.0/libxslt/1.1.28)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
libxml2 est manquant. Veuillez localiser mkmf.log pour rechercher comment il échoue.
*** 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.
j'ai tripoté avec ça pendant un bon moment et ce qui suit a fonctionné pour moi ..
1) installez libxml2 avec homebrew
brew install libxml2
2) installez la gemme via
Sudo env ARCHFLAGS="-Arch x86_64" gem install nokogiri:1.6.4.1 -- --use-system-libraries --with-xml=/usr/local/Cellar/libxml2/
Pour tous ceux qui obtiennent toujours "la version 2.6.21 ou ultérieure de libxml2 est requise!" message, supprimant --use-system-bibliothèques de l'étape 2 de hlv ci-dessus, a fonctionné pour moi.
Sudo env ARCHFLAGS="-Arch x86_64" gem install nokogiri:1.6.4.1 -- --with-xml=/usr/local/Cellar/libxml2/2.9.2/
(Pour MacOX 10.12.x) Vous souhaitez peut-être brew install libxml2
et essayez également de créer un lien vers /usr/local/
premier: brew link --force libxml2
, puis essayez cela gem install nokogiri -- --use-system-libraries
.
Cela a fonctionné pour moi (en supposant que Xcode est installé):
gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 --use-system-libraries
Inspiré par https://stackoverflow.com/a/28767045/1884907 (crédits à lx00st)
Je me suis finalement retrouvé avec cette version indépendante de la ligne:
Sudo env ARCHFLAGS="-Arch x86_64" gem install nokogiri -n /usr/local/bin -- --with-xml=/usr/local/Cellar/libxml2/
Utilisation de ports:
gem install nokogiri -- --use-system-libraries --with-xml=/opt/local/lib/libxml2.a
Ma solution, en utilisant les ports:
Sudo ARCHFLAGS='-Arch x86_64' gem install nokogiri -- --use-system-libraries
Par défaut, il sera compilé pour x86_64 et i386, l'architecture pour i386 doit être désactivée, car les bibliothèques de dépendances dans le port fournissent uniquement la version x86_64 par défaut.
C'est un peu une refonte de toutes les autres réponses, mais cela a fonctionné pour moi:
gem install nokogiri -v '1.6.6.2' -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.16 --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 --use-system-libraries