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 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
Configurations:
- Ubuntu 14.10 (GNU / Linux 3.16.0-23-generic x86_64)
- gcc (Ubuntu 4.9.1-16ubuntu6) 4.9.1
- ruby 2.1. 2p95 (2014-05-08) [x86_64-linux-gnu]
4 réponses
Après la mise à niveau vers Rails 4.2.4 sur Ubuntu 14.04 en utilisant RVM, je devais faire ceci:
sudo apt-get install libgmp-dev
Ou
sudo apt-get install libgmp3-dev
Plein stacktrace: 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 les exigences de base connues directement 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, vérifiez 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 recevez 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écutez cette commande:
echo source ~/.profile >> ~/.bash_profile
Ensuite, rechargez / appliquez le bash_profile que vous venez de mettre à jour en exécutant ce:
source ~/.bash_profile
Enfin, exécutez ceci pour installer les exigences:
rvm requirements
Cela devrait fonctionner pour N'importe quelle distribution Linux comme Ubuntu, Fedora, Debian, Redhat, Slackware.