J'essayais d'installer Rails sur Ubuntu Natty Narwhal 11.04, en utilisant Ruby1.9.1.
J'ai installé Ruby en utilisant apt-get install Ruby1.9.1-full
qui contient le paquet dev. J'ai googlé l'erreur et tous m'ont suggéré d'installer le 1.9.1-dev que j'ai déjà.
Building native extensions. This could take a while...
ERROR: Error installing Rails:
ERROR: Failed to build gem native extension.
/usr/bin/Ruby1.8 extconf.rb
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:36
Gem files will remain installed in /usr/lib/Ruby/gems/1.8/gems/bcrypt-Ruby-3.0.1 for inspection.
Results logged to /usr/lib/Ruby/gems/1.8/gems/bcrypt-Ruby-3.0.1/ext/mri/gem_make.out
Après quelques recherches pour trouver une solution, il s'avère que le package -dev
est nécessaire, et pas uniquement Ruby1.8
. Donc, si vous avez Ruby1.9.1
faire
Sudo apt-get install Ruby1.9.1-dev
ou pour installer la version générique de Ruby, utilisez (selon le commentaire @lamplightdev):
Sudo apt-get install Ruby-dev
devrait le réparer.
Essayez locate mkmf
pour voir si le fichier est réellement là.
C'est la réponse qui a fonctionné pour moi. Était dans les commentaires ci-dessus, mais mérite sa place légitime comme réponse pour Ubuntu 12.04 Ruby 1.8.7
Sudo apt-get install Ruby-dev
# if above doesnt work make sure you have build essential
Sudo apt-get install build-essential
J'avais aussi besoin d'installer build-essential:
Sudo apt-get install build-essential
Le problème est toujours récursif sur Ubuntu 13/04/13.10/14.04
et
Sudo apt-get install Ruby1.9.1-dev
travaillé pour moi d'accord. Donc, si vous utilisez Ubuntu 13.04/13.10/14.04, son utilisation vous sera très utile.
Cela fonctionne même si la version de Ruby est 1.9.3. En effet, Ruby1.9.3-dev n'est pas disponible dans le référentiel ...
As-tu essayé:
Sudo apt-get install Ruby1.8-dev
J'ai eu la même erreur lors de l'installation du bundle
Sudo apt-get install Ruby-dev
Fonctionne très bien pour moi et résoudre le problème Mint 16 Ruby1.9.3
Je pense que c'est un peu tard mais
Sudo yum install -y gcc Ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
travaillé pour moi sur Fedora.
Vous avez Ruby 1.8, vous devez donc mettre à niveau à au moins 1.9 pour que cela fonctionne.
Si tel est le cas, vérifiez Comment installer une version spécifique d'un gem Ruby??
Si cela ne résout pas le problème, réinstallez Ruby-dev
à nouveau.
Vous pouvez utiliser RVM (Ruby Version Manager), qui aide à gérer toutes les versions de Ruby sur votre ordinateur, ce qui est très utile pour votre développement (lors de la migration d'une version instable vers une version stable).
ou pour Linux (Ubuntu), optez pour Sudo apt-get install Ruby1.8-dev
puis Sudo gem install Rails
pour le vérifier faire Rails -v
il affichera la version sur Rails
après cela, vous pouvez installer des bundles (gemmes nécessaires au développement)