在OpenXML中生成Office文档。该过程的一部分是使用zip
将目录和文件合并到一个存档中。这在本地工作正常
var p = 'cd ' + target + '/; zip -r ../' + this.fname + ' .; cd ..;';
return exec.exec(p, function(err, stdout, stderr) { ... }
但Heroku Cedar失败,错误/bin/sh: zip: not found
。通过shell(heroku run bash
)登录并运行ls /bin
,似乎zip
二进制文件不存在。 gzip
确实存在,但我认为情况有所不同。
是否可以从shell进程在Heroku上运行zip?从下面这个链接看起来应该是可能的。 (那篇文章使用Ruby,我使用Node,但我认为shell不应该关心谁调用它?)
Rails: How can I use system zip on Heroku to make a docx from an xml template?
答案 0 :(得分:1)
它在这里说
How to unzip files in a Heroku Buildpack
虽然heroku没有包含zip命令,但jar命令可用。
但是,为什么不使用像这样的npm来处理来自节点应用程序本身的文件: