3

问题

使用解压缩 tar.gz 包Install-ChocolateyZipPackage会导致创建包含该目录的文件 PackageNameInstall,而应解压缩该目录。

$url = "http://packageName.tar.gz"
$extractionPath = "C:/$packageName"
Install-ChocolateyZipPackage "$packageName" "$url" "$extractionPath"

可以包含 7zip.commandline 作为依赖项,然后多次提取 tar.gz 包,然后删除下载的包。

问题

哪个 Chocolatey 函数能够提取 tar.gz 包?

4

2 回答 2

5

Chocolatey v0.9.10.1+:Chocolatey 内置的Install-ChocolateyZipPackageGet-ChocolateyUnzip使用完整的供应商 7z.exe,因此它们利用了最广泛的可解压缩格式。

原始答案

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

这是github 上的一个示例

$installDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" 
Start-Process "7za" -ArgumentList "x -o`"$installDir`" -y `"$file`"" -Wait
于 2014-05-19T17:54:53.100 回答
2

目前,除了 .zip 文件之外,没有用于提取任何内容的内置辅助函数。如果我不得不猜测,我会说这是因为大多数针对 Windows 的存档文件使用 .zip 格式,而不是 tar.gz。您描述的技术可能是做您想做的事情的最佳方法。

我可以建议您在 Chocolatey 的 Github 项目页面上提出一个问题,以涵盖更通用的存档提取辅助方法吗?你可以在这里提出这个问题:

https://github.com/chocolatey/chocolatey/issues

加里

于 2014-05-19T08:05:33.537 回答