Ruby 2.2.4 bcrypt_ext(LoadError) の解決方法

Ruby 2.2.4でLoadError bcrypt_extが出た場合解決方法です。

Ruby 2.2.4 bcrypt_ext(LoadError) の解決方法<br />

BCrypt は認証のパスワードをハッシュ化する暗号化方式です。比較的高速でライセンスフリーであることから、多くのシステムで利用されています。

実際に出たエラーはこんな感じです。


C:/Ruby22/lib/ruby/gems/2.2.0/gems/bcrypt-3.1.7-x86-mingw32/lib/bcrypt.rb:16:in `require': cannot load such file -- bcrypt_ext (LoadError)

ここでは WindowsのRailsでBCrypt 関連のエラーが出た場合の解決方法 を掲載しておきます。


解決方法

色々試したのですが、結論から言えば、bcrypt-ruby のバージョン 3.1.5 でないと動きませんでした。3.0.0 とか 3.1.11 とか試したんですけど、結局動作したのは 3.1.5 でした。

まずはインストールされている bcrypt をアンインストールします。

下記のコマンドを実行します。


>gem uninstall bcrypt
>gem uninstall bcrypt-ruby

次に bcrypt-ruby 3.1.5 をインストールします。


>gem install --version='3.1.5' bcrypt-ruby

最後に bundle install すればおしまいです。


>bundle install

参考サイト

まとめ

やっぱ Windows だとめんどくさいトラブル起きやすいんですねー・・。バージョン違いによるエラーとか、解決するのがはちょっと大変ですね。時間も手間もかかるし・・・。やっぱ、VirtualBox とか検討した方がいいかなー。

ちなみに Ruby 2.3 は、現時点(2016/07)では Windows でサポートされてないみたいですね。

GitHub - codahale-bcrypt-ruby bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。