我正在研究一个系统自动化过程,它将使用 Powershell 安装 Chocolatey 来安装 Cygwin。随后我想安装 apt-cyg 的先决条件,这将允许我以编程方式从 cygwin 安装软件包。但是,当与 Chocolatey 一起安装时,我不知道 Cygwin 的 setup.exe 二进制文件放在哪里。
user284244
问问题
2035 次
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 包。
于 2015-02-02T19:07:53.947 回答
0
这不是你在哪里可以找到的答案setup.exe
,但你实际上可以使用 Cygwin 的一些包管理器来管理包。其中一些是独立的应用程序或脚本,其中一些只是 Cygwin 的setup.exe
. 检查我对如何从命令行安装 cygwin 组件的回答?获取其中一些列表。
此外,cyg-get
Chocolatey 的存储库中还有 ,实际上,它是setup.exe
用 PowerShell 编写的包装器。
于 2015-01-30T13:56:58.130 回答