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

当我运行下面的代码:

require 'childprocess' process = ChildProcess.build("cucumber") process.start 

(似乎任何其他的gem可以代替黄瓜)

我收到错误:

 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>' 

当我使用例如cucumberWindows cmd中运行它时,进程正常启动。

我该如何解决? 为什么发生?

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

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