我正在使用Rails 4.1.6创建一个相当简单的Rails应用程序。最初,我使用Ruby版本1.9.3(这是我用于另一个项目,并且这个Ruby版本被设置为默认值),但在应用程序的一半我决定将Ruby版本更改为最新的2.1.3( rvm use 2.1.3
)。更改Ruby版本后,我重新捆绑了。
出于调试目的,我添加了pry,因为调试器不适用于最新版本的Ruby:
的Gemfile:
group :development, :test do
gem 'pry-rails'
gem 'pry-byebug'
end
现在每次我尝试进入rails控制台(rails c
)时,都会出现以下错误:
Could not find byebug-3.5.1 in any of the sources
这很奇怪,因为捆绑后在控制台中打印出的宝石列表包含以下内容:
Using byebug 3.5.1
<...>
Using pry 0.10.1
Using pry-byebug 2.0.0
Using pry-rails 0.3.2
和命令bundle show byebug
返回:
/home/<my home directory>/.rvm/gems/ruby-2.1.3/gems/byebug-3.5.1
我尝试bundle update
并删除Gemfile.lock并重新捆绑,但错误仍然存在。你能建议如何解决它吗?
答案 0 :(得分:1)
幸运的是,我找到了答案here。
显然,Rails 4.1使用了一种叫做“弹簧”的东西。我不知道它们是什么,但似乎它们干扰了rails控制台。在我杀死弹簧后,控制台开始工作。
看起来像黑魔法。如果有人能够解释这些弹簧是什么以及它们为什么阻止轨道控制台启动,我会非常感激。