无法使用Install-ChocolateyZipPackage函数提取tar.gz包

时间:2014-05-18 15:10:18

标签: chocolatey

问题

使用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包?

2 个答案:

答案 0 :(得分:5)

Chocolatey v0.9.10.1 + :内置于Install-ChocolateyZipPackageGet-ChocolateyUnzip的Chocolatey使用已装满的7z.exe,因此他们利用了最广泛的格式可以解压缩。

原始答案

您可以在7z.commandline包上构建依赖关系,然后使用它在powershell安装步骤中提取tar.gz文件。没有内置命令,但至少你现在可以继续前进。

这是example on github

$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

加里