Impossible d'installer gem-échec de la construction de l'extension native gem - impossible de charger un tel fichier - mkmf (LoadError)
Ruby 1.9.3
la partie de Gemfile
#...............
gem "pony"
gem "bcrypt-ruby", :require => "bcrypt"
gem "nokogiri"
#..................
quand j'essaie d'installer des gemmes, j'obtiens une erreur
alex@ubuntu:~/$ bundle
Fetching gem metadata from http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Enter your password to install the bundled RubyGems to your system:
#####............................................................
Installing bcrypt-ruby (3.0.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:36:in `<main>'
Gem files will remain installed in /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
An error occurred while installing bcrypt-ruby (3.0.1), and Bundler cannot continue.
Make sure that `gem install bcrypt-ruby -v '3.0.1'` succeeds before bundling.
Alors que je suis en train de faire cette
sudo gem install bcrypt-ruby -v '3.0.1'
Building native extensions. This could take a while...
ERROR: Error installing bcrypt-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:36:in `<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
et d'obtenir une erreur ainsi.
Qu'est-ce que j'ai manqué?
8 réponses
il y a des questions similaires:
- `exiger": aucun fichier à charger -- mkmf (LoadError)
- N'a pas réussi à construire gem native extension (mkmf (LoadError)) - Ubuntu 12.04
habituellement, la solution est:
sudo apt-get install ruby-dev
ou, si cette ne fonctionne pas, selon votre version ruby , exécuter quelque chose comme:
sudo apt-get install ruby1.9.1-dev
devrait régler votre problème.
toujours pas de travail? Essayez ce qui suit après avoir installé ruby-dev:
sudo apt-get install make
j'ai eu le même problème en essayant d'installer jquery-rails. Le fix était
sudo apt-get install zlibc zlib1g zlib1g-dev
j'ai trouvé que j'avais besoin d'installer une autre version de ruby. Donc, exécuter la commande
$ sudo apt-get install ruby1.9.1-dev
et ensuite essayer d'installer l'extension
si vous rencontrez des problèmes où il vous dit que vous n'avez pas g++ , vous pouvez lancer la commande suivante pour l'installer
$ sudo apt-get install g++
- assurez-vous que
ruby-dev
est installé - s'assurer que
make
est installé - si vous avez toujours l'erreur, cherchez les paquets suggérés. Si vous essayez d'installer quelque chose comme
gem install pg
vous aurez aussi besoin d'installer la liblibpq-dev
(sudo apt-get install libpq-dev
).
dans le cas où quelqu'un dans le futur avait ce problème, j'utilise un Mac et juste eu à installer les outils en ligne de commande en utilisant 'xcode-select -- install'
Il aide également à assurer libmysqlclient-dev est installé (Ubuntu 14.04)
Dans Mac, pour moi cela fonctionne:
CONFIGURE_OPTS="--enable-shared" rbenv install 2.2.2
après un peu de recherche d'une solution, il s'avère que le paquet-dev est nécessaire, pas seulement ruby1.8. Donc si vous avez ruby1.9.1 doing
sudo apt-get install ruby1.9.1-dev
ou pour installer la version ruby Générique, utilisez (selon le commentaire de @lamplightdev):
sudo apt-get install ruby-dev
devrait le réparer.
Essayez de localiser mkmf pour voir si le fichier est réellement là.