ノードの初心者はこちら。.tar.xz
以下に示すコードを使用して、ファイルをダウンロードしてディレクトリに抽出しようとしています。
var request = require('request');
var tar = require('tar');
var xz = require('xz');
function downloadRaw(url, callback)
{
return request({
encoding: null,
url: url
}, callback);
}
function extractToDirectory(url, directory, callback)
{
return downloadRaw(url)
.pipe(new xz.Decompressor())
.pipe(tar.Extract(directory))
.on('finish', callback);
}
何らかの理由で'finish'
、tar ストリームのイベントは、アーカイブのコンテンツの抽出が終了した後でも発生していないようです。tarは npm 自身が管理しているライブラリなので、ここで何らかの間違いを犯していると思います。とにかく、なぜこれが起こっているのですか?それを修正するにはどうすればよいですか?