Ruby sur windows causes d'erreur Impossible de charger le fichier bcrypt_ext
Essayez d'exécuter rubis sur mon ordinateur Windows 7 chaque fois que je vais rails s ou rake db:migrate j'obtiens l'erreur suivante Ne peut pas charger le fichier bcrypt_ext.
Ma version de ruby est 2.2.1 mon rails de la version 4.2.0 et la bcrypt version 3.1.10. Toutes les gemmes à l'installer correctement, quand je lance bundle install cependant à chaque fois que j'essaie de rake, il me donne cette erreur. Toute aide serait grandement appréciée
- Essayez avec
ruby-bcrypt
version3.1.9
; ce thread sur github semble impliquer que le bug a été corrigé pour cette version spécifique. Peut-être3.1.10
a une régression.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'utiliser ce qu'il dit ici: https://www.alib.jp/entries/bcrypt_ext_load_error_on_ruby21x
make install
mettre l'résultant.so
fichier dansC:\Ruby22\lib\ruby\site_ruby\2.2.0\i386-msvcrt
. Le bijou n'a pas été à la recherche là-bas pour cela, selon le message d'erreur. Donc, j'ai copié manuellement àC:\Ruby22\lib\ruby\gems\2.2.0\gems\bcrypt-ruby-3.1.1.rc1-x86-mingw32\lib
et il a bien fonctionné. Autre version de gem, comme vous pouvez le voir, mais il se peut que le downvoter.@hut8
!c:/ruby_dir/lib/ruby/gems/[[ver]]/gems
make.exe
qui est soit à partir demingw
oudevkit
- si cela a du sens je ne peux expliquer plus précisément 🙂Pour Windows 10, bcrypt 3.1.11 fonctionne maintenant, vérifié dans 24144
suit:
gem install bcrypt -v '3.1.11'
)versions actuelles
ruby 2.2.4p230 (2015-12-16 révision 53155) [i386-mingw32]
Nom du système d'exploitation: Microsoft Windows 10 Pro
Version de l'OS: 10.0.10586 N/A Construire 10586
gem install bcrypt --platform=ruby
ce qui a fonctionné pour moi un certain nombre de fois.La sale rapide de la solution de contournement consiste à installer l'irm version avec
gem install bcrypt --platform=ruby
a fonctionné pour moi.
Fetching: bcrypt-3.1.11.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
Successfully installed bcrypt-3.1.11
source:
topac a commenté le 17 Avril, 2015
https://github.com/codahale/bcrypt-ruby/issues/116
Je rencontre le même problème dans la Fenêtre 8.1 64bit , Ruby 2.3.3 64bit , Rails 4.2.10.
Ma solution rapide :
Étape 1 : Supprimer tous les bcrypt gem :
gem uninstall bcrypt
( choisir l'option 3 si elle existait (tout supprimer))Étape 2 : Installation de bcrypt de nouveau :
gem install bcrypt
Puis vérifier la version de bcrypt :
gem list bcrypt
Étape 3 : Dans le Gemfile de votre projet, ajouter :
gem 'bcrypt', '3.1.11', platforms: [:ruby, :x64_mingw]
avis : changer la version de votre bcrypt (ma version : 3.1.11)
Étape 4 : Exécution de la commande dans le chemin d'accès de votre projet :
bundle install
Étape 5 : Supprimer les inutiles bcrypt :
Commande exécuter :
gem uninstall bcrypt
Vous pouvez voir une version de bcrypt , vous devriez garder de un version : bcrypt-[votre-version] . (Supprimer toutes les version : bcrypt-[votre-version]-x64-mingw32 . Dans mycase , supprimer : bcrypt-3.1.11-x64-mingw32)
Redémarrer Rails sever , fait
Je pense que ce proplem parce que quand nous installer bcrypt , nous n'avons pas indiqué 64 bits ou 32 bits , il n'est pas compatible avec fenêtre ou ruby ( 64 bits ou 32 bits )
Les plus susceptibles de l'compilé gem les binaires ne contiennent pas de fichiers binaires pour
Ruby 2.2.1
. C'est parce qu'il y a un problème avec la compilation croisée Ruby avec une cible de Windows. Voir cette réponse pour plus de détails.La meilleur alternative est de revenir à
Ruby 2.1.5
.Vous pouvez essayer de compiler le gem vous-même, mais c'est une toute autre bête. Dans certains cas, comme
nokogiri
, il n'est même pas possible.pg
gem devrait fonctionner. Les gens travaillent vraiment dur pour arriver à des choses à travailler pour les utilisateurs de Windows, mais les choses ne sont pas toujours parfaite. La version de lapg
gem utilisez-vous? Si c'est version0.17.x
essayez de mettre à niveau à0.18.1
.Riche Peck solution a fonctionné pour moi avec une petite mise à jour. Assurez-vous que le devkit est inclus dans le chemin d'accès d'environnement.(Vérifier en tapant le chemin dans l'invite de commande) Si elle n'est pas inclus,vous devez ajouter le devkit/bin et devkit/mingw/bin chemins d'accès à votre CHEMIN d'accès var.
Autrement - faire: x86_64-w64-mingw32-gcc: Commande introuvable - erreur sera levée pendant que vous faites le fichier.
Une fois que l'erreur est fixe, alors que je suis en mesure de faire le fichier et le bcrypt_ext problème est résolu.