2017-06-08 4 views
0

Ich versuche, Rails zu installieren, indemWie installiert Nokogiri mit Rails auf Ubuntu 16.04

sudo gem install rails 

auf eine frische Version von Ubuntu 16.04 verwenden. Ruby 2.3.1p112 ist bereits installiert. Während der Installation von Rails, sobald das Abrufen Nokogiri abgeschlossen ist, bekomme ich den Fehler unten:

Fetching: nokogiri-1.8.0.gem (100%) 
Building native extensions. This could take a while... 
ERROR: Error installing rails: 
     ERROR: Failed to build gem native extension. 

    current directory: /var/lib/gems/2.3.0/gems/nokogiri-1.8.0/ext/nokogiri 
/usr/bin/ruby2.3 -r ./siteconf20170608-1635-1vnwqbn.rb extconf.rb 
checking if the C compiler accepts ... *** 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=/usr/bin/$(RUBY_BASE_NAME)2.3 
     --help 
     --clean 
/usr/lib/ruby/2.3.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
     from /usr/lib/ruby/2.3.0/mkmf.rb:571:in `block in try_compile' 
     from /usr/lib/ruby/2.3.0/mkmf.rb:522:in `with_werror' 
     from /usr/lib/ruby/2.3.0/mkmf.rb:571:in `try_compile' 
     from extconf.rb:138:in `nokogiri_try_compile' 
     from extconf.rb:162:in `block in add_cflags' 
     from /usr/lib/ruby/2.3.0/mkmf.rb:629:in `with_cflags' 
     from extconf.rb:161:in `add_cflags' 
     from extconf.rb:407:in `<main>' 

To see why this extension failed to compile, please check the mkmf.log which can be found here: 

    /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.8.0/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in /var/lib/gems/2.3.0/gems/nokogiri-1.8.0 for inspection. 
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.8.0/gem_make.out 

Dies ist der Inhalt von mkmf.log:

"gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.3.0 -I/usr/include/ruby-2.3.0/ruby/backward -I/usr/include/ruby-2.3.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fPIC conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic  -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm -lc " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main(int argc, char **argv) 
4: { 
5: return 0; 
6: } 
/* end */ 

Ich habe keine Ahnung, was falsch ist. Das Protokoll hilft nicht und ich habe bereits versucht, libgmp-dev, ruby-dev, zlib1g-dev und liblzma-dev zu installieren, wie sie Menschen vorgeschlagen wurden, die Fehler während Nokogiri Edelstein Installation bekommen.

+1

Wer unter Linux mit RVM und Probleme Rails zu installieren versuchen, auch https://stackoverflow.com/q/29317640/128421 sehen. –

Antwort

6

Nachdem ich eine Weile versucht habe, die fehlende Abhängigkeit zu finden, habe ich den Befehl gcc in der Datei mkmf.log ausgeführt, nur für den Fall, dass einige Kompilierungsfehlermeldungen ausgelassen werden.

Es stellte sich heraus, dass ich gcc nicht installiert hatte. Sobald ich es installiert habe, habe ich einige Fortschritte bei der Installation bekommen, nur um auf einen ähnlichen Fehler zu stoßen. Am Ende führte die Installation der Abhängigkeiten zu einer erfolgreichen Installation von Rails.

Bitte stellen Sie sicher, bevor diese installiert haben gem install rails ausgeführt wird:

sudo apt-get install gcc make zlib1g-dev sqlite3