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

【Rails】You don't have bcrypt installed というエラーの対処法

 

「You don’t have bcrypt installed」というエラー

ターミナルから「rails c」でUserテーブルのレコードを確認しようとしたら以下のようなエラーが出ました。

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)

You don’t have bcrypt installed in your application」…?

そのエラーが出たUserモデルではパスワードを使うために、bcryptのhas_secure_passwordメソッドを記述していました…

まあ要するに「bcryptがインストールされてないのでgemファイルに記述してね遊戯ボーイ」とのことですが

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

ちゃんと書いてあるしbundle installもしてあるんだよなぁ(困惑)…

バージョンとかが原因…?うーん分からない…

と色々試行錯誤してみた結果、何とか解決できたのでその対処法を以下にまとめます。

Railsの「You don’t have bcrypt installed」の解決法

解決法
step1
gemファイルで「bcrypt」のとこをコメントアウトする
step2
bundle installする
step3
コメントアウトを外す
step4
再びbundle installする
step5
ターミナルを再起動する

解決はしましたが、正直原因は謎…

ブログ主

知らない方がいいこともあるんだよ(イケボ)
調べてた結果、同じようなエラーが出た際に同じような対処法を取っている方の記事がありました。

参考 You don't have bcrypt installed in your application. と言われたQiita

まとめ

記事を読んでくれてありがとう

以上、Railsの「You don’t have bcrypt installed」というエラーの対処法でした。

Gemfile.lockあたりが絡んできているのかなと考えたりしてますが…
で深く考えすぎないことも大事かなということでここら辺で撤退します。

参考になれば幸いです!では⸝⸝- ̫ -⸝⸝

コメントを残す

この記事を書いた人
おはようポテトのプロフィール画像
おはようポテト

新卒1年目のひよっこWEBエンジニア。業務ではPHPを触り、プライベートではReactで宅配冷凍弁当の比較・口コミサイトの開発・運営をしています。お問い合わせはこちらよりどうぞ。