2014-05-18 3 views
3

ПроблемаНевозможно извлечь пакет tar.gz используя функцию Install-ChocolateyZipPackage

Извлечение пакета tar.gz с помощью Install-ChocolateyZipPackage результатов в создании файла PackageNameInstall, содержащий каталог, в то время как каталог должен быть извлечен.

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

можно включать 7zip.commandline как зависимость, а затем извлечь из пакета tar.gz несколько раз и удаления загруженного пакета впоследствии.

Вопрос

Какая функция шоколадным способна извлечь tar.gz пакеты?

ответ

5

шоколадного v0.9.10.1 +: шоколадный встроенные в Install-ChocolateyZipPackage и Get-ChocolateyUnzip использовать vendored 7z.exe полный, поэтому они используют максимально возможное количество несжатых форматов.

Оригинал ответ

Вы можете построить зависимость от 7z.commandline пакета, а затем использовать его, чтобы извлечь файл tar.gz в пошаговых инструкциях по установке Powershell. Для этого нет встроенной команды, но, по крайней мере, вам придется двигаться вперед прямо сейчас.

Вот example on github:

$installDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" 
Start-Process "7za" -ArgumentList "x -o`"$installDir`" -y `"$file`"" -Wait 
+0

'Start-Process" tar "-ArgumentList" xvfz -C '" $ installDir' "-y' "$ file'" "-Wait', создает каталог, но не извлекает tar.gz, при выполнении' tar xvfz packageName.tar.gz -C c:/temp/helloworld' works – 030

+1

В настоящее время это работает только в том случае, если в tar.gz отсутствует файл .tar. Этот [выпуск] (https://github.com/chocolatey/choco/issues/386) открыт для полного устранения tar.gz, содержащего файл .tar. –

+0

Вы можете запустить get-chocolateyunzip дважды, хотя – ferventcoder

2

В настоящее время нет встроенной вспомогательной функции для извлечения чего-либо другого, кроме .zip-файлов. Если бы я должен был догадаться, я бы сказал, что это связано с тем, что большинство архивных файлов, предназначенных для Windows, использует формат .zip, а не tar.gz. Техника, которую вы описываете, вероятно, является наилучшим подходом к тому, что вы хотите.

Могу ли я предложить вам поднять проблему на странице проекта Github для Chocolatey, чтобы охватить более общий метод извлечения архива? Вы можете поднять этот вопрос здесь:

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

Гэри

+0

Спасибо за совет. [Проблема] (https://github.com/chocolatey/chocolatey/issues/473). – 030