如何在Node.js的tar包中创建tar文件时包含-C选项?
如何在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模块中添加这个标志?
问题出现的原因是在使用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选项的问题。