安裝過程正在下載.tar.gz
存檔,然後將文件解壓縮到目標目錄。但是,並非所有文件都是必需的,我想指定哪些文件應該被提取。天真的方法是在提取後刪除不必要的文件,但我想要一個「更乾淨」的方式,而不是過濾掉。Node.js:指定要使用zlib + tar解壓縮的文件
這可能嗎?
的(相關)的代碼,我到目前爲止的(剝離的可讀性)
var fs = require('fs');
var tar = require('tar');
var zlib = require('zlib');
var log = console.log;
var tarball = 'path/to/downloaded/archive.tar.gz';
var dest = 'path/to/destination';
fs.createReadStream(tarball)
.on("error", log)
.pipe(zlib.Unzip())
.pipe(tar.Extract({ path: dest }))
.on("end", log);
謝謝。
工程就像一個魅力! –
你迷惑檢查類型目錄。我編輯了答案。 – rynop
@rynop好抓,雖然我會在調用'mkdirp()'之前執行該檢查。 – robertklep