概述
Chocolatey 是一个 Windows 包管理器,使得软件管理自动化。
Chocolatey 拥有最大的 Windows 软件包在线注册表,软件包的提交要经过严格的审核过程,包括自动病毒扫描。
Chocolatey 与 scoop 都是 Windows 软件管理工具。它们有以下一些区别:
- Chocolatey 更倾向于管理安装软件,而 scoop 倾向于管理便携式软件。
- Chocolatey 的安全性要强于 scoop,scoop 可以自定义扩展安装几乎任意软件。
- 另外,Chocolatey 是有商业版本的,而 scoop 是开源软件。
安装
如果你使用的是较新的 Windows 系统,比如 Win10+,那么安装 Chocolatey 是很简单的。因为,Chocolatey 需要 PowerShell v2+ 和 .NET Framework 4+ 支持,而较新的系统这些都是内置的。
PowerShell在线安装
在 PowerShell 中在线安装 Chocolatey 是极为方便的,仅需要执行以下命令:
1 | Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) |
以上是一个兼容脚本,如果你的 PowerShell 版本是 3+,那么下面命令也是可用的:
1 | Set-ExecutionPolicy Bypass -Scope Process -Force; iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex |
自定义安装位置
直接执行安装命令会将 Chocolatey 安装到默认位置,如果想要自定义安装位置,仅需要通过 ChocolateyInstall
环境变量指定即可。
1 | [environment]::setEnvironmentVariable('ChocolateyInstall', '/path/to/install/dir', 'User') |
安装代理
如果需要通过代理来安装,临时配置以下环境变量即可:
1 | $env:chocolateyProxyLocation = 'https://local/proxy/server' |
GUI
商业版的 Chocolatey 是有 GUI 支持,如果你习惯于在 GUI 模式下工作,但又不想购买商业版,那么可以安装 Chocolatey GUI 应用,它提供有限的 GUI 支持:
1 | choco install chocolateygui |
常用命令
学习 Chocolatey 命令最好的方式不是查看相关文档,而是使用它的帮助系统。
Chocolatey 的主命令是 chocolatey
,但它很长,因此,通常我们使用缩略命令 choco
。
帮助系统
1 | choco [subcommand] --help |
与大多数现代终端命令类似,Chocolatey 的命令格式为
choco 子命令 选项/开关
。需要注意的是,Chocolatey 支持 3 种选项/开关前缀:
-
、--
和/
。而对于帮助选项/开关而言,它有 3 种形式:
?
、help
、h
。因此,我们可以组合出 9 种进入帮助系统的命令,虽然传递选项/开关的说明中指出
-
通常不与单个字符的缩写选项/开关一起使用,但是实际上这 9 个命令在最新的版本(v0.10.15)中都是有效的。
配置
1 | # 查看配置 |
更多代理配置支持参考 Chocolatey GitHub Wiki。
其他
1 | choco search <filter> |
关于安装命令
1 | choco install <app> |
默认情况下,使用以上命令安装应用时,需要交互确认执行安装脚本,如果想要临时自动确认,需要加上相应选项:
1 | choco install <app> [-y | --yes | --confirm] |
如果在全局范围内安装应用都不想默认进行交互确认,那么可以执行:
1 | choco feature enable -n allowGlobalConfirmation |
Chocolatey 的帮助信息还是很人性化的,当在默认情况下执行应用安装,以上两种自动确认的命令会与交互确认信息一同显示。