这让我发疯,我只是想压缩一个文件夹,例如:
tar -czvf app.tar.gz ./app/
显然它工作得很好,但是 https://npmjs.org/package/grunt-shell生成损坏的 tar.gz:
shell: {
deploy: {
command: 'tar -czvf app.tar.gz ./app/'
}
}
我已经尝试过https://npmjs.org/package/grunt-contrib-compress运气不好(我更喜欢使用 shell,因为压缩后我会用 tar.gz 做另一件事)。
我的堆栈:
OSX 10.8.3
节点0.10.4
咕噜0.4.1
grunt-shell 0.2.2
grunt-contrib-compress 0.5.0
感谢@hereandnow78指出了顺序问题!
如果你有:
shell: {
deploy: {
command: 'tar -cfvz app.tar.gz ./app/'
}
},
然后它会给你一个名为“vz”(不带扩展名)的 tar.gz 文件,其中包含正确的内容。
但是,如果你有:
shell: {
deploy: {
command: 'tar -czf app.tar.gz ./app/'
}
},
然后它按预期工作...所以问题来自详细参数,也许它与使用 stdout 获取详细信息有关?
真正令人烦恼的是 tar -czvf app.tar.gz ./app/
在 grunt 任务之外工作得很好。
有人可以澄清一下吗?
最佳答案
tar 选项的顺序应该很重要
按以下顺序尝试:
-cfvz
这意味着:
- c: create
- f: a file
- v: verbose
- z: additionally compress with gzip
关于shell - 在 Grunt 上压缩为 tar.gz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16623762/