2011-11-04 9 views
36

Oto błąd uruchomiony pakiet zainstalować vendor/perełki na serwerze:Błąd instalacji Nokogiri 1.5.0 z szynami 3.1.0 i 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. 

można pominąć tę część. Komunikat o błędzie jest dość oczywisty, ale strona wymaga jeszcze kilku słów wyjaśniających kod.

Jakieś myśli?

+8

rozwiązane przez zainstalowanie lib: rvmsudo apt-get install libxslt1-dev – user938363

+0

Uratowałeś mnie dzięki. – RSK

+0

@ user938363: Należy opublikować jako odpowiedź i zaakceptować –

Odpowiedz

61

Musisz mieć wszystkie niezbędne biblioteki zainstalowane na twoim komputerze. Po zainstalowaniu RVM powinien on to dla Ciebie wyświetlić. W aktualnej wersji rvm możesz uruchomić rvm requirements, aby zobaczyć dokładną listę. Teraz, że lista jest:

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

Brakuje niektórych pakietów. Spróbuj uruchomić ten (tylko Linux):

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

Dzięki, działa na debian. – northtree

4

Wystarczy to zrobić:

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

następnie wpisz to w terminalu (Linux)/cmd (Windows):

export NOKOGIRI_USE_SYSTEM_LIBRARIES=true 
+2

'export NOKOGIRI_USE_SYSTEM_LIBRARIES = true' pracował dla mnie na Ubuntu. Dzięki! Myślę, że podczas instalacji nokogiri użycie flagi '-use-system-libraries' będzie miało ten sam efekt. Ale jeśli używasz 'bundle install' na jakimś' Gemfile', myślę, że najlepszym sposobem jest ustawienie tej opcji konfiguracji. – basicallydan

0

próbować ten jeden jeśli inni nie działają, to naprawdę działa na mnie. Devtools for CentOS

+0

Zamiast publikowania linku pomocne było podsumowanie, CO na tej stronie. Linki gniją, więc gdy tak się stanie, odpowiedź nie będzie miała żadnej wartości. –

0

Kiedy użyłem tego kodu dostałem kolejny błąd:

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 

próbowałem wiele różnych rozwiązań, ale pomógł med:

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

innych poleceń, które mogą pomóc:

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

Wygląda na błąd zależności gem.

Należy uruchomić polecenie bundle update. Będzie to rozwiązać zależności:

bundle update 
Powiązane problemy