Tag: tar

Node.js – Browserify:parsingtar文件时出错

我试图通过HTTP下载一个tar文件(非压缩的),并将其响应到tar-streamparsing器进行进一步处理。 当在terminal上执行时,这是完美的,没有任何错误。 对于在浏览器中使用的相同的东西, bundle.js文件是使用bundle.js生成的,并包含在HTML中。 tarstream包含3个文件。 浏览器在浏览器上执行代码时,会成功parsing2个条目,但会引发第三个条目的以下错误: Error: Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped? 而使用相同的HTTP下载和parsing代码,tar文件在terminal上完整地下载和parsing。 为什么会发生这种情况? 代码片段是这样的: . . . . var req = http.request(url, function(res){ res.pipe(tar.extract()) .on('entry', function(header, stream, callback) { console.log("File found " + header.name); stream.on('end', function() { console.log("<<EOF>>"); callback(); }) stream.resume(); }) .on('finish', function(){ console.log("All […]

jenkins脚本tar:写入错误

我们在Jenkins中运行脚本,执行npm install和webpack生成构build,然后创buildtar并尝试将其复制到远程服务器。 脚本示例: npm install npm run build cd build sudo tar -zcvf ../${TGZ_FILE} . 但是我们得到这个错误: tar: write error 任何想法为什么发生?

节点:添加一个string作为一个文件到一个tar档案(没有临时文件)

我想在节点中做一个tar归档。 规范的tar归档示例基于文件stream: fstream .Reader({path: 'src', type: "Directory"}) .pipe(tar.Pack()) .pipe(zlib.createGzip()) .pipe(fstream.Writer("output.tar.gz")); 我的数据实际上是作为一个string存储在内存中,我想写入存档,而不必在两者之间build立一个临时文件。 有什么办法可以做到这一点,例如也许从string中产生fstream?

使用内置模块压缩文件夹

编辑 – >有人可以build议编辑我的答案,例如我不知道如果exec更好或spawn ? 是否有可能使用zlib和其他内置模块压缩目录/文件夹的内容? 我正在寻找一种方法来做到这一点,而无需外部依赖。 另一个select是在mac,windows等上运行本地进程,用于zip,tar等,我确定在任一操作系统上都有命令行实用程序 这不是一个答案,但它与我正在寻找什么有关,它产生了一个本地进程压缩。 我正在看的另一个链接 。 unix命令为zip | exec和产卵 我在terminal上试过的命令, / usr / bin / zip test.zip / resources / html / article du -hs test.zip 码 var zip = function(path) { const spawn = require('child_process').spawn; const exec = require('child_process').exec; exec("which zip", function (error, stdout, stderr) { if (error) { console.log(error); […]

为什么.tar文件会生成数百个PaxHeader文件?

我正在设置一个AutoCI – > Jenkins – > Octopus自动构build过程。 我使用一个名为octopackjs&gulp-octo的包将我的node.js项目打包成.tar文件,如下所示: return gulp.src(['**/*', '!gulpfile.js']) .pipe(octo.pack("tar.gz")) .pipe(octo.push({apiKey: 'API-SUPERCOOLKEY', host: 'https://octopus.supercooldomain.net', replace: true})); 我可以把它打包起来,然后把它推到八达通服务器的正确位置。 但是,当我检查.tar文件的内容时,它被数百个名为“PaxHeader”的文件所污染。 从一些环顾四周,该文件旨在包含.tar包的元数据。 当八达通尝试将该文件提取到我的目标环境时,它会引发以下错误跟踪: System.IO.IOException: Cannot create /home/opsteam/.octopus/Applications/OctopusServer/Dev.Corporate/webapp/2.0.10/PaxHeader because a file with the same name already exists. 09:46:34Error at System.IO.Directory.CreateDirectory (System.String path) <0x7fdc9e79db50 + 0x00167> in <filename unknown>:0 09:46:34Error at SharpCompress.Reader.IReaderExtensions.WriteEntryToDirectory (IReader reader, System.String destinationDirectory, ExtractOptions options) […]

节点js文件系统:未调用可读stream的结束事件

我试图提取一个.tar文件(从一个目录打包),然后检查提取的目录中的文件的名称。 我正在使用tar-fs来提取tar文件,然后使用fs.createReadStream来处理数据。 这是迄今为止我所得到的: fs.createReadStream(req.files.file.path) .pipe(tar.extract(req.files.file.path + '0')) .on('error', function() { errorMessage = 'Failed to extract file. Please make sure to upload a tar file.'; }) .on('entry', function(header, stream, callback) { console.error(header); stream.on('end', function() { console.error("this is working"); }); }) .on('end', function() { //the one did not get called console.error('end'); }) ; 我希望提取整个文件夹,然后检查文件名称。 那么,我还没有那么远 就我的理解,我在pipe道后面得到了一个可读的stream。 一个可读的stream有一个结束事件? […]