我正在开发一个系统自动化流程,它将使用Powershell安装Chocolatey来安装Cygwin。我随后想安装apt-cyg的先决条件,这将允许我以编程方式从cygwin安装软件包。但是,我不知道在使用Chocolatey安装时,Cygwin的setup.exe二进制文件放在何处。
答案 0 :(得分: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软件包。
答案 1 :(得分:0)
它不是您可以找到setup.exe
的答案,但您实际上可以使用某些包管理器来管理软件包。其中一些是独立的应用程序或脚本,其中一些只是围绕Cygwin setup.exe
的包装器。检查我对How do I install cygwin components from the command line?的回答,查看其中一些的列表。
此外,还有cyg-get
in the Chocolatey's repository,实际上是PowerShell中编写的setup.exe
的包装。