我在rake脚本中有两种方法,两种方法都使用system "<SomeCommand>"
,一种是用文件调用JSLint,这很好。一个是调用YUICompressor,它总是以127错误代码失败。系统命令经常失败并退出代码127
奇怪的是我可以调用Ruby脚本正在运行的EXACT命令,它工作正常,我将它传递给一个文件,并输出一个缩小版本。然而,当我运行它认为Ruby脚本总是炸弹......
它基本上是这样的:
system java -jar c:/dump/tools/yuicompressor-2.7.4.jar c:/dump/src/input_file.js c:/dump/src/output_file.min.js
我知道这看起来可怕与所有的绝对路径,但多数民众赞成在如何构建脚本目前的工作绝对路径,但该命令工作正常,如果我只是在命令行上调用它,但是当我通过Rake/Ruby运行它只是炸弹......但另一个系统调用JSLint工作正常,但是调用批处理文件通过绝对路径...
在这onlili上找不到任何信息嗯,有人在上面看到什么奇怪的东西?
只是为了确认所有文件存在于相关位置。
你试过一起'java'绝对路径? – 2012-03-06 17:07:20
用127退出通常意味着“找不到命令”,因此很可能找不到“java”。 – 2012-03-06 19:11:29
尝试比较shell $ PATH(一个来自bash和一个来自ruby脚本),并看看你想出什么。 – Jwosty 2012-03-07 04:42:05