Ruby Windows 7上的防护失败,出现运行时错误

Ruby Windows 7上的防护失败,出现运行时错误,ruby,ruby-on-rails-3,guard,Ruby,Ruby On Rails 3,Guard,运行 $bundle exec guard 与 在Windows 7 64位上失败,对于我而言,具有: 17:49:03 - INFO - Guard uses Notifu to send notifications. 17:49:03 - INFO - Guard uses TerminalTitle to send notifications. C:/Ruby193/lib/ruby/gems/1.9.1/gems/pry-0.9.11.3-x86-mingw32/lib/pry/com

运行

$bundle exec guard

在Windows 7 64位上失败,对于我而言,具有:

17:49:03 - INFO - Guard uses Notifu to send notifications.
17:49:03 - INFO - Guard uses TerminalTitle to send notifications.
C:/Ruby193/lib/ruby/gems/1.9.1/gems/pry-0.9.11.3-x86-mingw32/lib/pry/command_set
.rb:216:in `alias_command': Command: `help` not found (RuntimeError)
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
r.rb:135:in `block in create_command_aliases'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
r.rb:134:in `each'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
r.rb:134:in `create_command_aliases'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
r.rb:95:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:161:in
 `new'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:161:in
 `setup_interactor'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:82:in
`setup'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:183:in
 `start'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/cli.rb:11
0:in `start'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/task.rb:27
:in `run'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation
.rb:120:in `invoke_task'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor.rb:275:in
`dispatch'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/base.rb:42
5:in `start'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/bin/guard:6:in `<to
p (required)>'
        from C:/Ruby193/bin/guard:23:in `load'
        from C:/Ruby193/bin/guard:23:in `<main>'
17:49:03-INFO-Guard使用Notifu发送通知。
17:49:03-信息-Guard使用TerminalTile发送通知。
C:/Ruby193/lib/ruby/gems/1.9.1/gems/pry-0.9.11.3-x86-mingw32/lib/pry/command_set
.rb:216:在'alias_command'中:未找到命令:'help'(运行时错误)
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interactio
r、 rb:135:在“创建_命令_别名中的块”中
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interactio
r、 rb:134:在“每个”中
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interactio
r、 rb:134:在“创建命令别名”中
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interactio
r、 rb:95:在“初始化”中
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:161:in
`新的
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:161:in
`设置\u交互程序'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:82:in
`设置'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:183:in
`开始
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/cli.rb:11
0:在“开始”中
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/task.rb:27
:在“run”中
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation
.rb:120:在'invoke_task'中
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor.rb:275:in
`派遣'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/base.rb:42
5:在“开始”中
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/bin/guard:6:in`'
来自C:/Ruby193/料仓/护罩:23:在“装载”中
来自C:/Ruby193/bin/guard:23:in`'
我需要以特定的方式启动notifu吗?我遗漏了什么?

RKing已将您的问题与之关联。看起来这要么是最新的Pry出现了问题,要么是Guard没有正确使用Pry API

要解决这个问题,我想到两件事:

  • 禁用交互程序

    由于Pry仅在Interactior中使用,您可以在启动Guard时将其禁用,并且您应该至少让Guard插件工作:

    
    $bundle exec-guard-i
    

  • 查找上一个工作撬杆版本

    我认为您应该使用较旧版本的Pry来运行它,问题是哪个版本引入了不兼容性。通过在
    Gemfile
    中指定版本并运行bundler,可以使用固定的Pry版本:

    在您的
    文件中

    
    宝石“撬动”,“0.9.11.2”
    

    然后在控制台中运行bundler:

    
    $bundle更新
    

    如果它仍然不起作用,只需使用较低版本。请尝试
    0.9.11.2
    0.9.11.1
    0.9.11
    0.9.10

    如果您找到了一个工作版本,请向GitHub的链接防护问题报告


  • 只要试试
    0.9.10
    ,如果它在
    0.9.11.3
    上不起作用,它在
    0.9.11.x
    line@wolle请尝试使用Pry
    0.9.11.4
    ,应立即修复。
    17:49:03 - INFO - Guard uses Notifu to send notifications.
    17:49:03 - INFO - Guard uses TerminalTitle to send notifications.
    C:/Ruby193/lib/ruby/gems/1.9.1/gems/pry-0.9.11.3-x86-mingw32/lib/pry/command_set
    .rb:216:in `alias_command': Command: `help` not found (RuntimeError)
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
    r.rb:135:in `block in create_command_aliases'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
    r.rb:134:in `each'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
    r.rb:134:in `create_command_aliases'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/interacto
    r.rb:95:in `initialize'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:161:in
     `new'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:161:in
     `setup_interactor'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:82:in
    `setup'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard.rb:183:in
     `start'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/lib/guard/cli.rb:11
    0:in `start'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/task.rb:27
    :in `run'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation
    .rb:120:in `invoke_task'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor.rb:275:in
    `dispatch'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/base.rb:42
    5:in `start'
            from C:/Ruby193/lib/ruby/gems/1.9.1/gems/guard-1.6.1/bin/guard:6:in `<to
    p (required)>'
            from C:/Ruby193/bin/guard:23:in `load'
            from C:/Ruby193/bin/guard:23:in `<main>'