「Ruby」カテゴリーのロゴ

【Rails】You don’t have bcrypt installed というエラーの解決法

困ったこと

irb(main):001:0> User.all
You don't have bcrypt installed in your application. Please add it to your Gemfile and run bundle install
Traceback (most recent call last):
        3: from (irb):1
        2: from app/models/user.rb:1:in `<main>'
        1: from app/models/user.rb:2:in `<class:User>'
LoadError (cannot load such file -- bcrypt)

「bcrypt」をインストール後、ターミナルからrails cでUserテーブルのレコードを確認しようとしたらこのようなエラーがでた。

# Use ActiveModel has_secure_password
gem 'bcrypt', '~> 3.1.7'

「bcryptがインストールされてないのでgemファイルに記述して」とのことだが、上のようにgemファイルに漏れはない。

解決法

  1. gemファイルでbcryptの箇所をコメントアウトする
  2. bundle installする
  3. コメントアウトを外す
  4. 再びbundle installする
  5. ターミナルを再起動する