Я работаю над процессом автоматизации системы, который будет использовать Powershell для установки Chocolatey для установки Cygwin. Впоследствии я хотел бы установить предварительные условия для apt-cyg, что позволит мне программно устанавливать пакеты из cygwin. Однако я не знаю, где находится двоичный файл setup.exe для Cygwin при установке с помощью Chocolatey.
Где находится двоичный файл cygwin setup.exe при установке с диспетчером пакетов Chocolatey?
Ответы (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 для таких вещей.
Это не ответ на вопрос, где вы можете найти setup.exe
, но вы действительно можете использовать какой-нибудь менеджер пакетов для Cygwin для управления пакетами. Некоторые из них являются автономными приложениями или скриптами, некоторые просто обертками над Cygwin setup.exe
. Проверьте мой ответ на Как мне установить cygwin из командной строки? список некоторых из них.
Кроме того, в репозитории Chocolatey есть cyg-get
, который, по сути, является оболочкой вокруг setup.exe
, написанный в PowerShell.