使用 ChildProcess 启动进程时“系统找不到指定的文件”
Posted
技术标签:
【中文标题】使用 ChildProcess 启动进程时“系统找不到指定的文件”【英文标题】:"The system cannot find the file specified" when starting process using ChildProcess 【发布时间】:2012-07-08 20:16:10 【问题描述】:当我运行以下代码时:
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】:几天前遇到同样的问题。 您可以将 ChildProcess 指向 cucumber.bat 文件:
require 'childprocess'
process = ChildProcess.build("C:\\Ruby193\\bin\\cucumber.bat")
process.start
【讨论】:
以上是关于使用 ChildProcess 启动进程时“系统找不到指定的文件”的主要内容,如果未能解决你的问题,请参考以下文章