2011-11-04 17 views
36

Aquí está el paquete de error de ejecutar la instalación de proveedores/gemas en el servidor:Error al instalar Nokogiri 1.5.0 3.1.0 con rieles y Ubuntu

Installing nokogiri (1.5.0) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /home/dtt/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 
checking for libxml/parser.h... no 
----- 
libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies. 
----- 
*** 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. 

Provided configuration options: 
     --with-opt-dir 
     --without-opt-dir 
     --with-opt-include 
     --without-opt-include=${opt-dir}/include 
     --with-opt-lib 
     --without-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --without-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=/home/dtt/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 
     --with-zlib-dir 
     --without-zlib-dir 
     --with-zlib-include 
     --without-zlib-include=${zlib-dir}/include 
     --with-zlib-lib 
     --without-zlib-lib=${zlib-dir}/lib 
     --with-iconv-dir 
     --without-iconv-dir 
     --with-iconv-include 
     --without-iconv-include=${iconv-dir}/include 
     --with-iconv-lib 
     --without-iconv-lib=${iconv-dir}/lib 
     --with-xml2-dir 
     --without-xml2-dir 
     --with-xml2-include 
     --without-xml2-include=${xml2-dir}/include 
     --with-xml2-lib 
     --without-xml2-lib=${xml2-dir}/lib 
     --with-xslt-dir 
     --without-xslt-dir 
     --with-xslt-include 
     --without-xslt-include=${xslt-dir}/include 
     --with-xslt-lib 
     --without-xslt-lib=${xslt-dir}/lib 


Gem files will remain installed in /vol/www/emclab/releases/20111104001151/vendor/gems/ruby/1.9.1/gems/nokogiri-1.5.0 for inspection. 
Results logged to /vol/www/emclab/releases/20111104001151/vendor/gems/ruby/1.9.1/gems/nokogiri-1.5.0/ext/nokogiri/gem_make.out 
An error occured while installing nokogiri (1.5.0), and Bundler cannot continue. 
Make sure that `gem install nokogiri -v '1.5.0'` succeeds before bundling. 

Puede omitir esta parte. El mensaje de error se explica por sí mismo, pero el sitio web requiere unas pocas palabras más para explicar el código.

¿Alguna idea?

+8

solucionado mediante la instalación de un lib: rvmsudo apt-get install libxslt1-dev – user938363

+0

usted me salvó gracias. – RSK

+0

@ user938363: debe publicar como respuesta y que sea aceptado –

Respuesta

61

Necesita tener todas las bibliotecas necesarias instaladas en su máquina. Cuando instaló RVM, debería haberlo enumerado por usted. En la versión actual de rvm, puede ejecutar rvm requirements para ver la lista exacta. En este momento, esa lista es:

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

25

Te faltan algunos paquetes. Pruebe a ejecutar este (Linux):

$ sudo apt-get install libxslt-dev libxml2-dev 
+0

Gracias, funciona en debian. – northtree

4

Sólo hacer esto:

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

continuación, escriba esto en el terminal (Linux)/cmd (Windows):

export NOKOGIRI_USE_SYSTEM_LIBRARIES=true 
+2

'export NOKOGIRI_USE_SYSTEM_LIBRARIES = true' funcionó para mí en Ubuntu. ¡Gracias! Creo que al instalar nokogiri, usar el indicador '--use-system-libraries' tendrá el mismo efecto. Pero si estás usando 'bundle install' en algún' Gemfile', supongo que la mejor manera es establecer esa opción de configuración. – basicallydan

0

prueba este si otros no funcionan, realmente me funciona. Devtools for CentOS

+0

En lugar de publicar un enlace, resuma qué en esa página ayudó. Los enlaces se pudren, de modo que cuando esto suceda, la respuesta no tendrá valor. –

0

Cuando he usado este código Tengo otro error:

ERROR: Error installing disposable: 
    invalid gem: package is corrupt, exception while verifying: undefined method `size' for nil:NilClass (NoMethodError) in /home/admin/.rvm/gems/[email protected]/cache/nokogiri-1.6.4.1.gem 

He intentado muchas soluciones diferentes, pero ayudó a med:

$ rm /home/admin/.rvm/gems/[email protected]/cache/nokogiri-1.6.4.1.gem 
$ gem update 
$ gem install nokogiri 

Otros comandos que pueden ayudar:

sudo apt-get install synaptic 
sudo apt-get update 
sudo apt-get install qt4-dev-tools libqt4-dev libqt4-core libqt4-gui 
sudo apt-get install build-essential 
sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev 
5

Parece un error de dependencia de gema.

Debe ejecutar el comando bundle update. Se resolverá las dependencias:

bundle update