Chocolatey是一款Windows平台的包管理工具,类似于centos的yum或ubuntu的apt。通过Chocolatey,可以实现软件,尤其是各式开源软件的一键安装与一键升级。
Chocolatey的文档写的非常好,这点即使在众多新兴软件中也不多见,强烈建议直接看官方文档:https://chocolatey.org/docs
官网教程为https://chocolatey.org/install,在有管理员权限的powershell下执行以下安装脚本即可:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
可用 search/find/list 指令查找包,支持模糊查询。如果想看有哪些包,可以直接去官网看:https://chocolatey.org/packages
注意,现在的官网文档不再列出find指令,之后可能会被废弃。具体指令为:
choco search <filter> [<options/switches>]choco list <filter> [<options/switches>]clist <filter> [<options/switches>]
clist -l
, -l
为--lo
, --localonly
, --lolcal-only
的简写choco list -li
或 choco list -l -i
-i
需要配合-l
使用,用于列出不归Chocolatey管理的程序clist -lclist potplayer
在大于0.9.9.6的版本中,可通过指令choco outdated
列出待升级的包
update 指令已/即将被弃用,现在升级只用upgrade
choco upgrade all -y
choco upgrade
指令可简写为 cup
,如cup all -y
用于固定软件,使得在执行升级全部包时自动跳过;通过维护一张固定列表实现该效果
用法:
choco pin add -n=git
,其中-n
是-name
的简写choco pin remove -n=git
choco pin list
choco install
可简写为 cinst
,语法为:
choco install <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]cinst <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
--ignore-checksums
choco install a b c ... -y
如用代理安装vscode并自动确认:
choco install vscode -y --proxy=127.0.0.1:10809
choco uninstall
,可简写为 choco cuinst
choco install choco-upgrade-all-at
有一个非官方的包(choco-upgrade-all-at)提供了该功能,介绍地址:https://chocolatey.org/packages/choco-upgrade-all-at。
该包添加了两个计划任务,一个定时执行choco upgrade all -y来升级所有包,一个定时结束升级指令。如果不需要升级,请用pin指令固定版本。
上一节的简化版(同一个人在维护),同样是通过定时任务实现,效果是开机后自动升级所有包。https://chocolatey.org/packages/choco-upgrade-all-at-startup
指令:choco install choco-upgrade-all-at-startup
choco feature list
,有非常详细的说明choco enable/disable -n={feature}
,其中-n
为-name
的简写
默认不启用的常用配置项:
Pro Edition (Individual) 要700+,可用1-8台电脑
所有付费版本都支持功能。当从外部移除或升级Chocolatey管理的软件时,Chocolatey会更新其状态(移除包记录或提示升级)。
仅支持商业版!Chocolatey商业版可以检测电脑安装的软件,将不归Chocolatey管理的软件纳入管理。官方文档地址:https://chocolatey.org/docs/features-synchronize#sync-command。
指令很简单:choco sync
很遗憾,目前Chocolatey不支持该功能,可见 github issue https://github.com/chocolatey/choco/issues/4
联系客服