Échec de la construction de l’extension native gem – Installation de Rails

J’ai installé Ruby on Rails sur la base des instructions de la classe en ligne edX.

Voici une liste des commandes du terminal et, le cas échéant, des sorties correspondantes:

$ sudo apt-get install ruby1.9.1 

installation réussie

 $ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz $ tar zxvf ruby-1.8.24.tgz $ cd ruby-1..8.24 $ sudo ruby setup.rb RubyGems 1.8.24 installed == 1.8.24 / 2012-04-27 * 1 bug fix: * Install the .pem files properly. Fixes #320 * Remove OpenSSL dependency from the http code path ------------------------------------------------------------------------------ RubyGems installed the following executables: /usr/bin/gem1.9.1 

Jusque là, tout allait bien, mais j’ai essayé d’installer des rails et j’ai échoué:

 $ sudo gem install rails Fetching: i18n-0.6.1.gem (100%) Fetching: multi_json-1.3.6.gem (100%) Fetching: activesupport-3.2.8.gem (100%) Fetching: builder-3.0.3.gem (100%) Fetching: activemodel-3.2.8.gem (100%) Fetching: rack-1.4.1.gem (100%) Fetching: rack-cache-1.2.gem (100%) Fetching: rack-test-0.6.1.gem (100%) Fetching: journey-1.0.4.gem (100%) Fetching: hike-1.2.1.gem (100%) Fetching: tilt-1.3.3.gem (100%) Fetching: sprockets-2.1.3.gem (100%) Fetching: erbuy-2.7.0.gem (100%) Fetching: actionpack-3.2.8.gem (100%) Fetching: arel-3.0.2.gem (100%) Fetching: tzinfo-0.3.33.gem (100%) Fetching: activerecord-3.2.8.gem (100%) Fetching: activeresource-3.2.8.gem (100%) Fetching: mime-types-1.19.gem (100%) Fetching: polyglot-0.3.3.gem (100%) Fetching: treetop-1.4.10.gem (100%) Fetching: mail-2.4.4.gem (100%) Fetching: actionmailer-3.2.8.gem (100%) Fetching: rake-0.9.2.2.gem (100%) Fetching: rack-ssl-1.3.2.gem (100%) Fetching: thor-0.16.0.gem (100%) Fetching: json-1.7.5.gem (100%) Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) from /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from extconf.rb:1:in `' Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/json-1.7.5 for inspection. Results logged to /usr/lib/ruby/gems/1.9.1/gems/json-1.7.5/ext/json/ext/generator/gem_make.out 

    mkmf fait partie du paquet ruby1.9.1-dev . Ce paquet contient les fichiers d’en-tête nécessaires pour les bibliothèques d’extension pour Ruby 1.9.1. Vous devez installer le ruby1.9.1-dev en procédant comme ruby1.9.1-dev :

     sudo apt-get install ruby1.9.1-dev 

    Ensuite, vous pouvez installer Rails normalement.

    En général, il est plus facile de faire:

     sudo apt-get install ruby-dev 

    La réponse suggérée ne fonctionne que pour certaines versions de ruby. Certains commentateurs suggèrent d’utiliser ruby-dev; cela n’a pas fonctionné pour moi non plus.

     sudo apt-get install ruby-all-dev 

    travaillé pour moi

     sudo apt-get install ruby-dev 

    travaillé pour moi