Ubuntu

2015-03-28 24 views
58

hata mesajı Rails yüklemek için gem nasıl kullanılır:Ubuntu

Building native extensions. This could take a while... 
ERROR: Error installing rails: 
    ERROR: Failed to build gem native extension. 

    /usr/bin/ruby2.1 -r ./siteconf20150328-1540-hff2f0.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/ruby2.1 
    --help 
    --clean 
/usr/lib/ruby/2.1.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.1.0/mkmf.rb:571:in `block in try_compile' 
    from /usr/lib/ruby/2.1.0/mkmf.rb:522:in `with_werror' 
    from /usr/lib/ruby/2.1.0/mkmf.rb:571:in `try_compile' 
    from extconf.rb:80:in `nokogiri_try_compile' 
    from extconf.rb:87:in `block in add_cflags' 
    from /usr/lib/ruby/2.1.0/mkmf.rb:621:in `with_cflags' 
    from extconf.rb:86:in `add_cflags' 
    from extconf.rb:337:in `<main>' 

extconf failed, exit code 1 

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

Yapılandırmaları:

  1. Ubuntu 14.10 (GNU/Linux 3.16.0-23-jenerik x86_64)
  2. gcc (Ubuntu 4.9.1-16ubuntu6) 4.9.1
  3. yakut 2.1.2p95 (2014/05/08) [x86_64-linux-antilop]

cevap

228

Ubuntu'da 14.04 kullanarak RVM 4.2.4 Rails yükselttikten sonra bunu yapmak gerekli:

sudo apt-get install libgmp-dev 

veya

sudo apt-get install libgmp3-dev 

Tam StackTrace: http://ruby-on-rails-eq8.blogspot.co.uk/2015/10/solving-ubuntu-1404-ruby-c-dependancy.html

+3

Bu kabul edilen cevabı lütfen yapabilir miyiz? –

+4

MacKinley Smith, sizin için düşündüm, ama üzgünüm, sanırım "hayır". shivam'ın orijinal cevabı yıllar önce bir soruydu ve geçerli bir cevaptı. Bence tesadüf eseri, orijinal sorudaki yığın izlemesi ben googling yaparken benzerdi Sorunum/cevabımın bir çözümü için ve bu Google’daki en büyük hit oldu. Bu yüzden cevabı buraya yapıştırıyorum. Bu yüzden cevabımın yardımcı olmasına sevindim, ama uğruna kimsenin puanlarını kaybetmesini istemiyorum. – equivalent8

+0

Bu cevap için, ihtiyacım olan şey için teşekkür ederim. –

44

Bazı Ruby gereksinimlerini kaçırıyor görünüyorsunuz. RVM kullanıyorsanız, bağımlılıkların listesini almak ve manuel olarak yüklemek için aşağıdakileri deneyin:

.

Aksi takdirde, doğrudan kullanılarak bilinen temel gereksinimleri yükleyin: Ruby için geliştirme bağımlılıkları eksik olduğu

sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev autoconf libc6-dev ncurses-dev automake libtool 
+5

Ben rvm kullanmıyorum, ama ikinci çözüm benim için çalıştı. Çok teşekkür ederim! – Allen

+0

apt-get komutu, Fedora üzerinde çalışmaz –

+1

altındaki yanıtıma bakın. Çalışmıyor, hala /home/peng/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/mkmf.rb: 456: in 'try_do': Derleyici yürütülebilir bir dosya oluşturulamadı. (RuntimeError) Önce geliştirme araçlarını yüklemelisiniz. – tribbloid

7

bu hatayı alabilirsiniz.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 
409B6B1796C275462A1703113804BB82D39DC0E3 

\curl -sSL https://get.rvm.io | bash 

Eğer:

ben bu soru Bu adımları takip cevap zaman zaman https://rvm.io/rvm/install

yükleyip bu çözmek için RVM kullanmak, resmi kontrol ve burada güncellenen talimatlar düşündürmektedir

:

* WARNING: You have '~/.profile' file, you might want to load it, 
    to do that add the following line to '/home/mao/.bash_profile': 

    source ~/.profile 

bu komutu çalıştırmak bu uyarıyı almak

echo source ~/.profile >> ~/.bash_profile 

Ardından, sadece bu yürüterek güncellenen bash_profile uygulamak/yeniden: Bu gibi herhangi bir Linux dağıtımı için çalışması gerektiğini

rvm requirements 

: gereklerini yüklemeye

source ~/.bash_profile 

Nihayet bu çalıştırmak Ubuntu, Fedora, Debian, Redhat, Slackware.

+1

'" \ curl -sSL https://get.rvm.io | bash ', RVM yüklemek için çeşitli seçeneklerden biridir. RVM'nin sitesindeki [kurulum talimatları] 'nı (https://rvm.io/rvm/install) takip edin RVM'nin kurulumu kolaydır, ancak her defasında her hata ayıklama adımını takip etmeyen kişilerden soruları tekrar tekrar alırız yanlış gidiyor ve bu sayfa her şeyi kapsar –

+0

@theTinMan Bunu yapmak için güncellenmiş bir yol olarak RVm Kurulum sayfasından bahsetmek için cevabımı güncelledim –

0

Centos 7 için Redhat 7:

yum -y install gcc ruby-dev