Ruby 2.2.4 bcrypt_ext(LoadError) の解決方法
Ruby 2.2.4でLoadError bcrypt_extが出た場合解決方法です。
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 でサポートされてないみたいですね。
おつかれさまでした。