我正在尝试调试一个简单的 ruby 控制台脚本,但在尝试要求撬动时出现加载错误:
- 我正在使用 rbenv 来管理环境。
- 我正在使用Ruby版本:2.3.1.
- 尝试使用 Pry '~> 0.10.4'
/Users/gangelo/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in 'require': 无法加载这样的文件 -- pry (LoadError(
我过去在rails应用程序中使用过Pry和Byebug,从来没有遇到过这样的问题。在寻找解决方案时,我发现大多数问题都与未在 Gem 文件中包含 Pry 或未在 Gem 文件的正确环境中包含 Pry gem 有关;我不是这样,我做错了什么?
# /Gemfile
group :development, :test do
gem 'pry', '~> 0.10.4'
end
在我的脚本中:
# /calculator/rpn_calculator_service.rb
module RealPage
module Calculator
# Provides Reverse Polish Notation computation services.
class RPNCalculatorService < CalculatorService
include Helpers::Arrays
def initialize
super RPNInputParser.new
end
def compute(input)
# Load error here :(
require 'pry'; binding.pry
# Code removed for brevity...
end
# Code removed for brevity...
end
end
end
我在尝试运行我的宝石车时收到类似的错误:
/Users/giovanni/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- pry (LoadError)
from /Users/giovanni/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/giovanni/.rvm/gems/ruby-2.2.3/gems/cars-0.0.6/bin/cars:3:in `<top (required)>'
from /Users/giovanni/.rvm/gems/ruby-2.2.3/bin/cars:23:in `load'
from /Users/giovanni/.rvm/gems/ruby-2.2.3/bin/cars:23:in `<main>'
from /Users/giovanni/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
from /Users/giovanni/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'
我推断可能我的 gem 没有安装,所以我只是运行:
➜ ~ gem install pry
Fetching: coderay-1.1.2.gem (100%)
Successfully installed coderay-1.1.2
Fetching: method_source-0.9.0.gem (100%)
Successfully installed method_source-0.9.0
Fetching: pry-0.11.3.gem (100%)
Successfully installed pry-0.11.3
3 gems installed
然后像往常一样执行我的宝石
bundler.io 的这些步骤对我有用:
-
更新到最新版本的捆绑器:
gem install bundler
-
尝试再安装一次:
bundle install