Компресирайте в tar.gz на Grunt

Това ме подлудява, просто се опитвам да компресирам папка като:

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
Grunt 0.4.1
grunt-shell 0.2.2
grunt-contrib-compress 0.5.0

Благодаря на @hereandnow78, че посочи последователността!

Ако имате:

shell: {
  deploy: {
    command: 'tar -cfvz app.tar.gz ./app/'
  }
},

След това ще ви даде файл tar.gz, наречен "vz" (без разширение) с правилното съдържание.

Но ако имате:

shell: {
  deploy: {
    command: 'tar -czf app.tar.gz ./app/'
  }
},

След това работи според очакванията... Значи проблемът идва от подробния параметър, може би има нещо общо с използването на stdout за подробната информация?

Това, което е наистина досадно е, че tar -czvf app.tar.gz ./app/ работи добре извън задачата grunt.

Моля, някой би ли разяснил това?


person coma    schedule 18.05.2013    source източник


Отговори (1)


последователността на вашите tar опции трябва да е важна

опитайте в тази последователност:

-cfvz

което означава:

- c: create
- f: a file
- v: verbose
- z: additionally compress with gzip
person hereandnow78    schedule 21.05.2013