压缩到Grunt上的tar.gz

时间:2013-05-18 11:29:16

标签: shell gzip tar gruntjs

这让我发疯,我只想压缩像以下文件夹:

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/在咕噜声任务之外工作正常。

请有人澄清一下吗?

1 个答案:

答案 0 :(得分:2)

tar选项的顺序应该是重要的

按此顺序尝试:

-cfvz

表示:

- c: create
- f: a file
- v: verbose
- z: additionally compress with gzip