【问题标题】:Readline seems to be broken [closed]Readline 似乎坏了[关闭]
【发布时间】: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) 来解决此问题。
  • 所以 - 下次将以上内容添加到您的问题中(这是帮助您解决问题的重要信息):)
  • 我发现这仍然有一定比例的失败,我不知道如何解决。

标签: ruby rspec guard listen


【解决方案1】:

当前版本已损坏 - 返回 2.2.5。

在我开始像这样忽略 vim 的点文件之前,它也给了我同样的错误:

watch(%r{^app/workers/[^.](.+)_worker\.rb$})          { |m| "spec/features/workers/#{m[1]}_spec.rb" }

编辑:这有时对我来说仍然失败,我没有解决方案 - 将其标记为它。

【讨论】:

  • 请务必勾选您的答案,以便其他人能够快速看到该问题的答案已被接受。
猜你喜欢
  • 1970-01-01
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多