web-dev-qa-db-fra.com

Erreur lors de l'installation de Nokogiri 1.5.0 avec Rails 3.1.0 et Ubuntu

Voici l'erreur lors de l'exécution de bundle install vendor/gems sur le serveur:

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.

Vous pouvez ignorer cette partie. Le message d'erreur est assez explicite, mais le site Web nécessite quelques mots supplémentaires pour expliquer le code.

Des pensées?

36
user938363

Toutes les bibliothèques nécessaires doivent être installées sur votre ordinateur. Lorsque vous avez installé RVM, il aurait dû être répertorié pour vous. Sur la version actuelle de rvm, vous pouvez exécuter rvm requirements pour voir la liste exacte. En ce moment, cette liste est:

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

61
Dylan Markow

Il vous manque des paquets. Essayez d’exécuter ceci (Linux uniquement):

$ Sudo apt-get install libxslt-dev libxml2-dev
25
jimnah

Vous devez installer libxml2.

Sur Mac OS, en utilisant homebrew, ce sera:

brew install libxml2

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

5
ipd

Cela ressemble à une erreur de dépendance de gemme.

Vous devez exécuter la commande bundle update. Cela résoudra les dépendances:

bundle update
5
Laxman More

Faites juste ceci:

Sudo apt-get install libxslt-dev libxml2-dev libxml2

puis tapez ceci dans terminal (linux)/cmd (windows):

export NOKOGIRI_USE_SYSTEM_LIBRARIES=true
4
user3786185

Essayez celui-ci si les autres ne fonctionnent pas, Ça marche vraiment sur moi. Devtools for CentOS

0
agstwn21

Quand j'ai utilisé ce code, j'ai eu une autre erreur:

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

J'ai essayé beaucoup de solutions différentes, mais j'ai aidé med:

$ rm /home/admin/.rvm/gems/Ruby-2.1.3@lol/cache/nokogiri-1.6.4.1.gem
$ gem update
$ gem install nokogiri

Autres commandes pouvant aider:

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
0
Darex1991