/ / Perché non sono "gem" e "bundle" che utilizzano la stessa libxml2? - rubino, gemma, bundler, libxml2

Perché non sono "gem" e "bundle" che usano la stessa libxml2? - rubino, gemma, bundler, libxml2

Mi sembra di essere in un ciclo ricorsivo di frustrazione. Sto cercando di "installare bundle" un progetto, ma risulta in:

An error occurred while installing nokogiri (1.6.6.2), and Bundler cannot continue.
Make sure that `gem install nokogiri -v "1.6.6.2"` succeeds before bundling.

Così provo questo:

$ gem install nokogiri -v "1.6.6.2"
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.6.6.2
Parsing documentation for nokogiri-1.6.6.2
Done installing documentation for nokogiri after 2 seconds
1 gem installed

Tutto bene! Tranne che quando eseguo "bundle install", mi viene nuovamente detto che devo installare "gem install nokogiri -v" 1.6.6.2 "" per installare prima. AHHHHH.

Il file mkmf.log suggerisce che questo è un problema con libxml2 (sorpresa a sorpresa).

conftest.c:3:10: fatal error: "libxml/xmlversion.h" file not found
#include <libxml/xmlversion.h>
^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <libxml/xmlversion.h>
4:
5: #if LIBXML_VERSION < 20621
6: #error libxml2 is way too old
7: #endif
/* end */

Quindi, la ricerca di libxml2 (con "sudo find / -name libxml2") rivela queste directory, che sembrano tutte almeno 2.9.0 o successive:

  • / Usr / include / libxml2
  • / Usr / local / Cantina / libxml2
  • / Usr / local / opt / libxml2

Quindi, il problema che libxml2 non può essere trovato? E se sì, come posso ottenere l'installazione in bundle per rendermi conto che nokogiri è già installato, o almeno essere in grado di installarlo nello stesso modo di "installazione gem"? Mentre mi piacerebbe trovare una soluzione per questo, sono davvero interessato a imparare cosa sta succedendo "sotto le copertine" così posso risolvere il problema in futuro.

risposte:

2 per risposta № 1

Sul mio Mac OS X, ho eseguito questi comandi e il problema è stato risolto.

brew unlink gcc-4.2      # you might not need this step
gem uninstall nokogiri
xcode-select --install
gem install nokogiri