如何在Node.js的tar包中创建tar文件时包含-C选项?

8 浏览
0 Comments

如何在Node.js的tar包中创建tar文件时包含-C选项?

在Linux中,我们可以使用-C选项来删除绝对路径。我正在尝试在Node.js中解决这个问题。

tar.create({
        gzip: true,
        file: 'test.tar.gz'
    },
    ['../result/1670341264809/test/']
).then(_ => {
});

但是使用上述代码创建的tar文件包含了所有的绝对路径,而我只需要来自test文件夹的tar文件。

如何在Node.js模块中添加这个标志?

0
0 Comments

问题出现的原因是在使用Node.js的tar模块创建tar文件时,需要包含-C选项(用于指定工作目录),但是在现有的代码中没有正确使用-C选项。解决方法是将目标文件夹的路径添加到cwd选项中,并将目录名称添加到文件数组中。具体代码如下:

tar.create({
    gzip: true,
    file: 'test.tar.gz',
    cwd: "../result/1670341264809/",
},
['test']
).then(_ => {
    signedPkgName = remoteDir + "testaddon.tar.sign.gz";
    transferFileToRemote();
});

以上代码中,通过在cwd选项中指定目标文件夹的路径"../result/1670341264809/",然后将目录名称"test"添加到文件数组中,成功解决了缺少-C选项的问题。

0