Ошибка установки Nokogiri 1.5.0 с рельсами 3.1.0 и Ubuntu

Вот ошибка при запуске комплекта установки vendor/gems на сервере:

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.

Вы можете пропустить эту часть. Сообщение об ошибке в значительной степени говорит само за себя, но веб-сайту требуется еще несколько слов, объясняющих код.

Какие-нибудь мысли?

7 ответов

Решение

На вашем компьютере должны быть установлены все необходимые библиотеки. Когда вы установили RVM, он должен был указать это для вас. На текущей версии rvm вы можете запустить rvm requirements чтобы увидеть точный список. Прямо сейчас этот список:

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

Вам не хватает некоторых пакетов. Попробуйте запустить это (только для Linux):

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

Это похоже на ошибку зависимости от драгоценного камня.

Вам нужно запустить bundle update команда. Это разрешит зависимости:

bundle update

Вам необходимо установить libxml2.

В Mac OS, используя homebrew, это будет:

brew install libxml2

Смотрите http://nokogiri.org/tutorials/installing_nokogiri.html.

Просто сделай это:

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

затем введите это в терминал (Linux) / CMD (Windows):

export NOKOGIRI_USE_SYSTEM_LIBRARIES=true

Для Ubuntu:

sudo apt-get install libxml2 libxml2-dev libxslt-dev zlib1g-dev
sudo gem install nokogiri -v '1.8.2' -- --use-system-libraries 

Для MacOS:

brew install libxml2
gem install nokogiri -v '1.8.2' -- --use-system-libraries \
  --with-xml2-include=$(brew --prefix libxml2)/include/libxml2

Попробуйте это, если другие не работают, это действительно работает на меня. Devtools для CentOS

Когда я использовал этот код, я получил еще одну ошибку:

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

Я пробовал много разных решений, но помог мед:

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

Другие команды, которые могут помочь:

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
Другие вопросы по тегам