【问题标题】:SublimeREPL error in WindowsWindows 中的 SublimeREPL 错误
【发布时间】:2015-06-07 19:36:40
【问题描述】:

我正在尝试设置我的 Ruby 开发环境。我已经在我的系统上安装了 Ruby and Pry。我想使用 SublimeREPL,但我在让它工作时遇到了问题。

在尝试运行 sublimeREPL 时,我不断收到错误 Cannot find REPL for Ruby

我将默认路径设置为:

{
    "default_extend_env": {"PATH": "{PATH}"}
}

这是我在 windows 中的路径变量:

 ;C:\Users\Administrator\AppData\Local\Code\bin;C:\Program Files (x86)\Git\bin;C:\Ruby21\bin

当我尝试在 Sublime 控制台中运行“Eval in REPL”时出现此错误。

Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 550, in run_
    return self.run(edit, **args)
  File "C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\text_transfer.py", line 123, in run
    for rv in manager.find_repl(external_id):
  File "C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\sublimerepl.py", line 437, in find_repl
    if not (rv.repl and rv.repl.is_alive()):
  File "C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\repls\subprocess_repl.py", line 185, in is_alive
    return self.popen.poll() is None
  File "./subprocess.py", line 938, in poll
  File "./subprocess.py", line 1153, in _internal_poll
OSError: [WinError 6] The handle is invalid

如果我专门去 Tools > SublimeREPL > Ruby > Ruby - IRB (Deprecated)

我得到错误: Error trying to parse settings: Expected ':' in Packages\User\SublimeREPL.sublime- settings:2:45

但是,IRB 会起作用,我可以评估其中的表达式。

如果我转到另一个 Ruby 选项,我会收到相同的消息,但 REPL 根本不起作用:

C:/Users/Administrator/AppData/Roaming/Sublime Text 3/Packages/SublimeREPL/config/Ruby/pry_repl.rb:37:in `<main>': uninitialized constant Pry::InputCompleter (NameError)

***Repl Closed***

【问题讨论】:

  • 也遇到了 NameError。你有解决方案吗?
  • 不,我放弃了。
  • 发现一个拉取请求可以解决它。看看我的回答。
  • 这个错误不仅在windows中,在Linux中也有

标签: ruby sublimetext3 read-eval-print-loop pry sublimerepl


【解决方案1】:

这个拉取请求修复了它。不过由于作者没有合并,还是自己动手吧。

作者:

1. Add **require 'pry/input_completer'** below **require 'pry'**
2. Change on Line 20: **def puts(data="")**          -> **def print(data="")**
3. Change on Line 38: **build_completion_proc(...)** -> **new(...)**

这仅适用于 pry>0.10

https://github.com/wuub/SublimeREPL/pull/372

【讨论】:

    【解决方案2】:

    如果您运行的是 Windows 8,那么这是一个已知问题。请参阅 REPL 开发页面上的以下链接:

    https://github.com/wuub/SublimeREPL/issues/271

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-10
      • 2013-11-26
      • 2014-01-04
      • 1970-01-01
      • 2013-10-23
      • 2015-04-24
      • 2014-02-12
      相关资源
      最近更新 更多