3

我正在研究一个系统自动化过程,它将使用 Powershell 安装 Chocolatey 来安装 Cygwin。随后我想安装 apt-cyg 的先决条件,这将允许我以编程方式从 cygwin 安装软件包。但是,当与 Chocolatey 一起安装时,我不知道 Cygwin 的 setup.exe 二进制文件放在哪里。

4

2 回答 2

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

于 2015-02-02T19:07:53.947 回答
0

这不是你在哪里可以找到的答案setup.exe,但你实际上可以使用 Cygwin 的一些包管理器来管理包。其中一些是独立的应用程序或脚本,其中一些只是 Cygwin 的setup.exe. 检查我对如何从命令行安装 cygwin 组件的回答?获取其中一些列表。

此外,cyg-getChocolatey 的存储库中还有 ,实际上,它是setup.exe用 PowerShell 编写的包装器。

于 2015-01-30T13:56:58.130 回答