2010-03-11 11 views
7

Problemas para instalar la gema nokogiri en rvm ruby ​​1.9.1.RVM 1.9.1 y nokogiri

gem install nokogiri 

estoy recibiendo ...

/usr/include/libxml2... no 
libxml2 is missing. try 'port install libxml2' or 'yum install libxml2-devel' 
*** extconf.rb failed *** 

pero he comprobado:

sudo apt-get install libxml2 

y que tengo:

Reading state information... Done 
libxml2 is already the newest version. 

es esto una cosa raíz, tal vez? RVM ejecuta todo en el espacio de usuario.

+0

http://blog.lostincode.net/archives/2010/1/2/installing_gems_with_native_extensions/ – scaney

+1

se ve bien ah - en ubuntu su libxml2-dev no libxml2-devel – scaney

+0

en Ubuntu me sugirió hacer 'sudo apt-get install ruby-nokogiri'. – isomorphismes

Respuesta

3

Es posible que desee confirmar que la versión de libxml instalado por apt es actual. A Nokogiri le gustan las nuevas versiones de libxml, así que construí mi instalación de libxml desde el código fuente.

-v nokogiri le dirá lo que usted está utilizando.

+0

Saludos por el consejo zed! – scaney

+0

No hay problema. Me encontré con el problema TAN muchas veces que pensé que debería tratar de evitarlo en el pase por ti. –

2

me encontré con un problema similar usando homebrew en Mac.

Aquí está el código que hace el truco, una pequeña extensión de las instrucciones de instalación para Nokogiri homebrew. Básicamente, debe incluir una directiva para decirle a nokogiri que use los directorios libxml homebrew. Asegúrese de apuntar a la versión correcta de libxml2 instalado por homebrew, que para mí era 2.7.8:

brew install libxml2 

brew link libxml2 #this may be enough but didn't work for me with rvm 

#explicitly tell nokogiri to use you homebrew libxml2 rather than system 
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 
10

Una solución más simple:

sudo apt-get install libxslt-dev libxml2-dev 
+1

¡Gracias! libxml2-dev es exactamente lo que faltaba en ubuntu. Funciona muy bien para instalar nokogiri :) – Antony

+0

'yum install libxml2-devel libxslt-devel' lo tengo trabajando en mi caja de centos, gracias! – JaredMcAteer