问题
使用Install-ChocolateyZipPackage
提取tar.gz包会导致创建包含该目录的文件PackageNameInstall,同时应该提取该目录。
$url = "http://packageName.tar.gz"
$extractionPath = "C:/$packageName"
Install-ChocolateyZipPackage "$packageName" "$url" "$extractionPath"
可以将7zip.commandline作为依赖项包含在内,然后多次提取tar.gz包,然后删除下载的包。
问题
哪个Chocolatey函数能够提取tar.gz包?
答案 0 :(得分:5)
Chocolatey v0.9.10.1 + :内置于Install-ChocolateyZipPackage和Get-ChocolateyUnzip的Chocolatey使用已装满的7z.exe,因此他们利用了最广泛的格式可以解压缩。
原始答案
您可以在7z.commandline包上构建依赖关系,然后使用它在powershell安装步骤中提取tar.gz文件。没有内置命令,但至少你现在可以继续前进。
$installDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
Start-Process "7za" -ArgumentList "x -o`"$installDir`" -y `"$file`"" -Wait
答案 1 :(得分:2)
目前,没有内置的辅助函数来提取.zip文件以外的任何内容。如果我不得不猜测,我会说这是因为大多数针对Windows的归档文件使用的是.zip格式,而不是tar.gz.您描述的技术可能是做您想要的最佳方法。
我是否可以建议您在Chocolatey的Github项目页面上提出一个问题,以涵盖更通用的归档提取帮助方法?你可以在这里提出这个问题:
https://github.com/chocolatey/chocolatey/issues
加里