基本上,我在Node.js中,我想在一个简单的zip文件上调用unzip。所以我使用以下代码:
var cmd = 'unzip -o -d "'+dst+'" "'+file+'"';
console.log(cmd);
child_process.exec(cmd, function() {
console.log(arguments);
});
但是,当我在shell中运行变量“cmd”的内容时:
unzip -o -d "/tmp/uncompressedDirectory" "/tmp/someSettings.zip"
它完美运行。但是当我执行那段代码时,我得到了这个:
{ [Error: Command failed: unzip: cannot find or open /tmp/someSettings.zip, /tmp/someSettings.zip.zip or /tmp/someSettings.zip.ZIP.
I20141208-15:35:36.123(-8)? ] killed: false, code: 9, signal: null }
这两者有什么不同?我期望child_process产生与我在shell中运行的结果完全相同的结果。
[编辑1]
我实际上正在使用Meteor,我正在使用Npm.require(“child_process”)导入child_process。
[编辑2]
我也尝试过:
child_process.spawn("unzip", [ "-o", "-d", dst, file ]);
在为“exit”和“error”附加事件后,将使用代码== 9调用退出一个。