Why am I getting 'NameError: uninitialized constant Pry' when gem is installed properly?

Why am I getting 'NameError: uninitialized constant Pry' when gem is installed properly?

我已经在我的应用程序上安装了 pry 版本 0.10.4,当我需要调试和检查我的代码时,我已经将我的 rake 文件中的任务委托给 运行 Pry .

task :console do
    Pry.start
end

但每次输入 rake console 时,我都会收到以下错误消息:

rake aborted!
NameError: uninitialized constant Pry
/Users/kenkuts/Desktop/Projects/flatiron_school/sinatra-restful-routes-lab-cb-000/Rakefile:9:in block in <top (required)>'
/Users/kenkuts/.rvm/gems/ruby-2.5.0/gems/rake-12.3.2/exe/rake:27:in <top (required)>'
/Users/kenkuts/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:15:in eval'
/Users/kenkuts/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:15:in <main>'
Tasks: TOP => console
(See full trace by running task with --trace)

Rake 任务不会自动加载 gems - 您使用的任何任务都必须明确要求。

对于您的情况,您只需添加以下内容:

require 'pry'

task :console do
  Pry.start
end

您也可以使用 pry-rails gem,它将处理启动 Rails 控制台的撬动操作。

其他两个快速提示:

  • 在 Rails 控制台中,您可以使用同名 pry 命令快速切换到 Pry
  • 这里有一本关于合并 Pry 的好书(但很旧):http://lucapette.me/pry-everywhere

希望对您有所帮助 - 如果您有任何问题,请告诉我。