Node.js nodejs在';执行官';压缩过程

Node.js nodejs在';执行官';压缩过程,node.js,zip,child-process,Node.js,Zip,Child Process,我正在尝试压缩nodejs中的目录。我知道还有其他方法可以压缩文件,但我现在只能这样做了 var child = exec("zip -r " + zipFile + " " + zipDirectory, function (err, stdout, stderr) { if (err !== null) { console.log('error generating zip: ' + err); } // do some stuff with the

我正在尝试压缩nodejs中的目录。我知道还有其他方法可以压缩文件,但我现在只能这样做了

  var child = exec("zip -r " + zipFile + " " + zipDirectory, function (err, stdout, stderr) {
    if (err !== null) {
      console.log('error generating zip: ' + err);
    }

    // do some stuff with the created zip file
  });
我在一个内存很小的服务器上运行这个程序,但是由于我在nodejs之外“执行”一个进程,我永远不会期望nodejs抛出一个enome异常

当我的服务器尝试压缩一个小目录时,这就起作用了,但是如果它尝试压缩一个包含一些视频的目录,我会得到一个例外

我尝试在服务器上的命令行上运行'zip'命令。它很好用

我也尝试过使用spawn而不是exec来解决同样的问题

有趣的是exec命令几乎会立即失败,也就是说,它不像是开始创建zip文件然后耗尽内存


为什么exec需要更多的内存来实现更大的zip?

我也有同样的问题。但是,我在嵌入式系统上使用的是节点的旧副本。(0.6.21)