...

【Rails】You don’t have bcrypt installed とエラーが出た時の対処法

You don't have bcrypt

 

「You don’t have bcrypt installed」

どうもおはようポテト(@ohayoupoteto22)です。

ターミナルから「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」…?

ナニソレオイシイノ??オイシソウ。

 

エラーは滅びろ(n回目)

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

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

 

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

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

 

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

と色々試行錯誤してみた結果…

エラー解決

僕の場合とりあえずこれで解決しました

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

 

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

ブログ主

知らない方がいいこともあるんだよ(イケボ)

調べてた結果、同じようなエラーが出た際に同じような対処法を取っている方の記事がありました。

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

 

最後に

Gemfile.lockあたりが絡んできているのかなと考えたりしてますが…

まだまだ初心者なので深く考えすぎないことも大事かなということでここら辺で撤退します。

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

参考になったらシェアしよう

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA