Ein Installationsprozess lädt ein .tar.gz
Archiv herunter und entpackt die Dateien in ein Zielverzeichnis. Allerdings sind nicht alle Dateien im Archiv erforderlich, und ich möchte angeben, welche Dateien extrahiert werden sollen. Der naive Weg wäre, die unnötigen Dateien nach der Extraktion zu löschen, aber ich möchte einen "saubereren" Weg und stattdessen herausfiltern.Node.js: Geben Sie die Dateien an, die mit zlib + tar entpackt werden sollen
Ist das möglich?
Der (relevante) Code, den ich habe, so weit (zur besseren Lesbarkeit gestrippt)
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);
Danke.
Funktioniert wie ein Charme! –
Sie suchen nach Typ Directory. Ich habe die Antwort bearbeitet. – rynop
@rynop guten Fang, obwohl ich diese Überprüfung vor dem Aufruf von 'mkdirp()' durchführen würde. – robertklep