Rubis 1.9.3
Le rôle de Gemfile
#...............
gem "pony"
gem "bcrypt-ruby", :require => "bcrypt"
gem "nokogiri"
#..................
Lorsque j'essaye 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 je fais ça
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 obtenir une erreur aussi.
Qu'est-ce que j'ai raté?
Réponses:
Il y a des questions similaires:
Habituellement, la solution est:
Ou, si cela ne fonctionne pas, en fonction de votre version ruby , exécutez quelque chose comme:
Devrait résoudre votre problème.
Ne fonctionne toujours pas? Essayez ce qui suit après avoir installé ruby-dev:
la source
ruby1.9.1-dev
je devais aussisudo apt-get install make
. Je vous remercie!sudo apt-get install ruby
(sans spécifier la version), vous n'avez pas à vous soucier trop de votre version si vous venez de l'installersudo apt-get install ruby-dev
sudo apt-get install gcc make
Pour WSL (sous-système Windows pour Linux), vous avez besoin du
build-essential
package d' installation :la source
J'ai eu le même problème en essayant d'installer jquery-rails. Le correctif était
la source
zlib1g-dev
vous donnera ce dont vous avez besoin ici, ou du moins cela l'a fait pour moi.J'ai trouvé que j'avais besoin d'installer une autre version de ruby. Donc exécuter la commande
puis essayez d'installer l'extension
Si vous rencontrez des problèmes où il vous dit que vous n'avez pas g ++, vous pouvez exécuter la commande suivante pour l'installer
la source
Je viens de terminer une chasse à l'oie sauvage de 2 heures pour essayer de résoudre ce problème. Aucune des réponses affichées n'a fonctionné pour moi. Je suis sur un Mac (Mojave version 10.14.6, Xcode version 11.3).
Il s'avère que les en-têtes de fichier ruby manquaient, alors j'ai dû courir
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Cela n'a pas fonctionné pour moi au début parce que la version de CommandLineTools que j'avais installée n'avait pas le dossier «Packages». J'ai donc désinstallé et réinstallé comme ceci:
rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Ensuite, j'ai exécuté à nouveau la commande précédente:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Après l'installation, l'erreur a été corrigée!
la source
Au cas où quelqu'un à l'avenir aurait ce problème, j'utilise un Mac et je devais simplement installer les outils de ligne de commande en utilisant 'xcode-select --install'
la source
ruby-dev
est installémake
est installégem install pg
vous devrez également installer la liblibpq-dev
(sudo apt-get install libpq-dev
).la source
Cela permet également de s'assurer que libmysqlclient-dev est installé (Ubuntu 14.04)
la source
Cela a fonctionné pour moi.
bundle config --global build.snappy --with-opt-dir="$(brew --prefix snappy)"
la source
Sous Mac, cela fonctionne pour moi:
la source
Après quelques recherches pour une solution, il s'avère que le paquet -dev est nécessaire, pas seulement ruby1.8. Donc, si vous avez ruby1.9.1 faire
ou pour installer la version générique de ruby, utilisez (selon le commentaire @lamplightdev):
devrait le réparer.
Essayez de localiser mkmf pour voir si le fichier est réellement là.
la source