使用ChildProcess启动进程时,“系统找不到指定的文件”

时间:2012-07-08 20:16:11

标签: ruby windows process createprocess

当我运行以下代码时:

require 'childprocess'

process = ChildProcess.build("cucumber")
process.start

(似乎任何其他宝石都可以代替黄瓜)

我收到错误:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/childprocess-0.3.3/lib/childprocess/windows/process_builder.rb:87:in `create_process': The system cannot
 find the file specified. (2) (ChildProcess::LaunchError)
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/childprocess-0.3.3/lib/childprocess/windows/process_builder.rb:34:in `start'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/childprocess-0.3.3/lib/childprocess/windows/process.rb:63:in `launch_process'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/childprocess-0.3.3/lib/childprocess/abstract_process.rb:67:in `start'
        from env.rb:4:in `<main>'

当我在Windows cmd中使用例如cucumber,流程正常启动。

我该如何解决?为什么会这样?

1 个答案:

答案 0 :(得分:1)

前几天有同样的麻烦。 您可以将ChildProcess指向cucumber.bat文件:

require 'childprocess'

process = ChildProcess.build("C:\\Ruby193\\bin\\cucumber.bat")
process.start