Comment utiliser gem pour installer Rails sur Ubuntu

Le message d’erreur:

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 comstackr 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 comstackr 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_comstack' 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_comstack' from extconf.rb:80:in `nokogiri_try_comstack' 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 `' 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 

Configurations:

  1. Ubuntu 14.10 (x86_64 générique GNU / Linux 3.16.0-23)
  2. gcc (Ubuntu 4.9.1-16ubuntu6) 4.9.1
  3. ruby 2.1.2p95 (2014-05-08) [x86_64-linux-gnu]

Après la mise à niveau vers Rails 4.2.4 sur Ubuntu 14.04 en utilisant RVM, je devais le faire:

 sudo apt-get install libgmp-dev 

ou

 sudo apt-get install libgmp3-dev 

Pile complète: http://ruby-on-rails-eq8.blogspot.co.uk/2015/10/solving-ubuntu-1404-ruby-c-dependancy.html

Vous semblez manquer une exigence Ruby. Si vous utilisez RVM, essayez:

 rvm requirements 

pour obtenir la liste des dépendances et les installer manuellement.

Sinon, installez directement les exigences de base connues en utilisant:

 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 

Vous obtenez cette erreur car les dépendances de développement pour Ruby sont manquantes.

Je vous suggère d’installer et d’utiliser RVM pour résoudre ce problème, consultez les instructions officielles et mises à jour ici https://rvm.io/rvm/install

Au moment où je réponds à cette question, j’ai suivi ces étapes:

 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \curl -sSL https://get.rvm.io | bash 

Si vous obtenez cet avertissement

  * 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 

exécuter cette commande:

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

Ensuite, rechargez / appliquez le fichier bash_profile que vous venez de mettre à jour en exécutant ceci:

 source ~/.bash_profile 

Enfin, lancez ceci pour installer les exigences:

 rvm requirements 

Cela devrait fonctionner pour toute dissortingbution Linux comme Ubuntu, Fedora, Debian, Redhat, Slackware.

Pour Centos 7, Redhat 7:

 yum -y install gcc ruby-dev