dev/mom0tomo

技術メモ

【解消法】has_secure_passwordを使おうと思ったらbcryptでエラー

こんなエラーが出た。

cannot load such file -- bcrypt

bcrypt gemでよくあるエラーらしい。

読んだもの

https://github.com/codahale/bcrypt-ruby/issues/142#issuecomment-291345799

学んだこと

解消法

$ gem uninstall bcrypt
$ gem uninstall bcrypt-ruby

$ gem install bcrypt --platform=ruby

Gemfileのbcryptのバージョンを下記に変更する。 gem 'bcrypt', '~> 3.1.11'

$ bundle install して、サーバーを再起動する。

原因

$ rails _5.0.6_ newしたときにGemfileに自動で書き込まれるバージョン gem 'bcrypt', '~> 3.1.7' に不具合がある模様。

3.1.11以降に解決されているため、3.1.7関係を一度アンインストールして、新しい方をインストールし直す。