Где находится двоичный файл cygwin setup.exe при установке с диспетчером пакетов Chocolatey?

Я работаю над процессом автоматизации системы, который будет использовать Powershell для установки Chocolatey для установки Cygwin. Впоследствии я хотел бы установить предварительные условия для apt-cyg, что позволит мне программно устанавливать пакеты из cygwin. Однако я не знаю, где находится двоичный файл setup.exe для Cygwin при установке с помощью Chocolatey.


person Community    schedule 30.01.2015    source источник
comment
Вы используете именно этот пакет? chocolatey.org/packages/Cygwin   -  person Anthony Mastrean    schedule 02.02.2015


Ответы (2)


Я скачал пакет cygwin и проверил файл chocolateyInstall.ps1. Похоже, пакет загружает установщик exe и передает целевую папку.

$binRoot = Get-BinRoot
$cygRoot = join-path $binRoot "cygwin"
$cygPackages = join-path $cygRoot packages

# https://cygwin.com/faq/faq.html#faq.setup.cli
$silentArgs = "-q -R $cygRoot -l $cygPackages -s http://mirrors.kernel.org/sourceware/cygwin/"
$validExitCodes = @(0)

Install-ChocolateyPackage "$packageName" "$installerType" "$silentArgs" "$url" "$url64"  -validExitCodes $validExitCodes

Целевая папка объединяется с помощью папки Chocolatey «binroot». Вот где это становится грязным ... Для этой папки есть множество устаревших местоположений. Надежный метод — импортировать вспомогательный модуль Chocolatey и выполнить Get-BinRoot. Вам также нужно найти папку установки Chocolatey.

PS> Import-Module $ENV:CHOCOLATEYINSTALL\chocolateyInstall\helpers\chocolateyInstaller.psm1; Get-BinRoot

Это приведет к дампу имени папки в моей системе (и в большинстве систем с последней версией Chocolatey и без ручных изменений этого пути или любых других переменных среды)

C:\tools

Таким образом, двоичные файлы cygwin должны находиться по какому-то пути, например

C:\tools\cygwin

К вашему сведению, пакет cygwin рекомендует устанавливать пакет cyg-get для таких вещей.

cygwin и cyg-get

person Anthony Mastrean    schedule 02.02.2015

Это не ответ на вопрос, где вы можете найти setup.exe, но вы действительно можете использовать какой-нибудь менеджер пакетов для Cygwin для управления пакетами. Некоторые из них являются автономными приложениями или скриптами, некоторые просто обертками над Cygwin setup.exe. Проверьте мой ответ на Как мне установить cygwin из командной строки? список некоторых из них.

Кроме того, в репозитории Chocolatey есть cyg-get, который, по сути, является оболочкой вокруг setup.exe, написанный в PowerShell.

person David Ferenczy Rogožan    schedule 30.01.2015