这里是 Node 的新手。我正在尝试.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 自己维护的库,所以我假设我在这里犯了某种错误。无论如何,为什么会发生这种情况,我该怎么做才能解决它?