【发布时间】:2014-01-23 21:31:39
【问题描述】:
我正在使用带有 rspec 和 pry 的守卫。
我不断收到此错误:
Error: can't modify string; temporarily locked
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:626:in `readline'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:626:in `block in readline'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:566:in `handle_read_errors'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:611:in `readline'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:384:in `retrieve_line'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:301:in `block in r'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:298:in `loop'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:298:in `r'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:276:in `re'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:254:in `rep'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:234:in `block (3 levels) in repl'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:232:in `loop'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:232:in `block (2 levels) in repl'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:231:in `catch'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:231:in `block in repl'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:230:in `catch'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_instance.rb:230:in `repl'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-0.9.12.4/lib/pry/pry_class.rb:170:in `start'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pry-byebug-1.2.1/lib/pry-byebug/pry_ext.rb:19:in `start_with_pry_byebug'
/home/eric/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/guard-2.3.0/lib/guard/interactor.rb:133:in `block in start'
我发现这是一个很受欢迎的讨论话题,但我还没有找到好的解决方案。我在 Centos 6.3 上运行 ruby 2.1.0 和最新版本的 guard & listen (2.4.0)。我尝试将 rb-readline 添加到我的 Gemfile 中,但这破坏了 pry 的历史记录功能。
【问题讨论】:
-
还有???什么代码导致了错误?
-
运行任何测试。通过从当前版本 (2.3.0) 回退到最后一个版本的保护 (2.2.5) 来解决此问题。
-
所以 - 下次将以上内容添加到您的问题中(这是帮助您解决问题的重要信息):)
-
我发现这仍然有一定比例的失败,我不知道如何解决。