気ままに気ままのエンジニアブログ

定期的に得た知見を気ままに発信中

【Rspec/エラー】NameError: uninitialized constant Pry::Command::ExitAllの解決方法

こんにちは。

年々寒さに打たれ弱くなっております。

どうもハチマキです。

はじめに

Rspecテストでbinding.pryを使いたいときに発生したこのエラー。
解決方法について書いていこうと思います。

では早速行きましょう!

本日の概要 : NameError: uninitialized constant Pry::Command::ExitAllの解決方法

事象

binding.pryを使いたく、Gemfileにちゃんと追加したのに、featureテストを実行した時にuninitialized constant Pry::Command::ExitAllが発生。。

group :development, :test do
  gem 'pry-rails'
  gem 'pry-byebug'
  gem 'pry-doc'
end

エラー例

エラー内容にも記載してあるように、「ファイルが読み込めない」だそうです。
Gemfileに追加したのになんでや🤔!!?

$ bundle exec rspec spec/features/~~.spec.rb

An error occurred while loading ./spec/features/〜spec.rb.
Failure/Error: require File.expand_path('../config/environment', __dir__)

NameError:
  uninitialized constant Pry::Command::ExitAll
・
・
・

原因

公式ページにも解説されているそうですが、pry-byebugをアップデートする必要があり、アップデートがなされていないことが原因でした。

解決方法

解決するために下記コマンドを実行してアップデートすることで解決できることでしょう!

$ bundle update pry-byebug
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
・
・
・

これで無事に「binding.pry」は動くはず!