web-dev-qa-db-fra.com

`require ': aucun fichier de ce type à charger - mkmf (LoadError)

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
559
Omar S.

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à.

976
Emil Ivanov

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
185
jmontross

J'avais aussi besoin d'installer build-essential:

Sudo apt-get install build-essential
37
James Dunmore

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 ...

30
kenju254

As-tu essayé:

Sudo apt-get install Ruby1.8-dev
18
Matteo Alessani

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

10
Sergey Nikolaev

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.

http://nokogiri.org/tutorials/installing_nokogiri.html

2
JGutierrezC

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.

1
kenorb

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)

0
Mohit Verma