choco 是 Chocolatey 的命令行界面,Chocolatey 是 Windows 平台下最流行的包管理器之一,它受到 Linux/Unix 世界中 apt-get 和 yum 的启发,允许你通过命令行来安装、更新、卸载和管理软件,极大地简化了软件的安装和管理过程。

前提条件:安装 Chocolatey
在使用 choco 命令之前,你首先需要安装 Chocolatey,官方推荐的安装命令如下(以管理员身份打开 PowerShell 或 CMD):
# 在 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://community.chocolatey.org/install.ps1'))
安装完成后,你可以通过输入 choco -v 来检查版本,确认安装是否成功。
核心命令
以下是 choco 最常用的一些命令,分为几个类别以便理解。
软件安装
这是最常用的功能。

# 安装一个软件 choco install <软件名> # 示例:安装 Google Chrome 浏览器 choco install googlechrome # 示例:安装 VS Code 编辑器 choco install vscode # 示例:安装 7-Zip 压缩工具 choco install 7zip
常用参数:
-y或--yes: 自动回答“是”,跳过所有确认提示,非常适合在脚本中使用。choco install notepadplusplus -y
--version <版本号>: 安装指定版本的软件。choco install python --version 3.9.16
--params '"/PARAMETER /VALUE"': 传递安装参数,具体参数需要查阅软件的文档。# 示例:安装 Git 并选择 "Use Git and optional Unix tools from the Command Prompt" choco install git --params '"/GitAndUnixToolsOnPath"'
--ignore-dependencies: 忽略依赖项,只安装指定的软件包(不推荐,除非你知道你在做什么)。
软件更新
更新已安装的软件或整个系统。
# 更新单个已安装的软件 choco upgrade <软件名> # 示例:更新 Python choco upgrade python # 更新所有通过 Chocolatey 安装的软件 choco upgrade all # 同样可以使用 -y 参数来自动确认 choco upgrade all -y
常用参数:
--noop(No-Operation): 模拟执行,只显示将会发生什么,而不实际执行任何操作,非常安全,可以预览更新列表。choco upgrade all --noop
软件卸载
移除已安装的软件。

# 卸载一个软件 choco uninstall <软件名> # 示例:卸载 Google Chrome choco uninstall googlechrome # 同样支持 -y 参数 choco uninstall vscode -y
软件搜索
在 Chocolatey 的软件仓库中查找软件。
# 搜索包含关键词的软件 choco search <关键词> # 示例:搜索所有与 "video" 相关的播放器 choco search video # 示例:搜索 "git" 相关的软件 choco search git
软件信息
查看已安装软件或可用软件的详细信息。
# 查看所有已安装的软件列表 choco list --local-only # 查看某个已安装软件的详细信息 choco info <软件名> # 示例:查看 Python 的信息 choco info python # 查看仓库中某个软件的可用版本 choco list -e <软件名> # 示例:查看 Git 的所有可用版本 choco list -e git
包源管理
Chocolatey 可以从多个软件源(仓库)下载软件,默认使用官方社区源。
# 查看当前配置的所有源 choco source list # 添加一个私有源或备用源 choco source add -n="MyPrivateRepo" -s="https://myinternalrepo/nuget" --priority=1 # 移除一个源 choco source remove -n="MyPrivateRepo" # 修改一个源的优先级(数字越小,优先级越高) choco source set -n="MyPrivateRepo" --priority=0
高级与常用命令
配置管理
查看或修改 Chocolatey 的全局设置。
# 查看所有配置项及其当前值 choco config list # 修改配置项 # 示例:启用功能允许在脚本中静默安装 choco config set -n="'commandExecutionTimeoutSeconds'" -v="7200" # 示例:禁用自动检查更新 choco config set -n="'checksumFiles'" -v="false"
创建和打包软件
如果你想把一个软件也分享出去,可以使用 choco 命令来创建“包”(.nupkg 文件)。
# 新建一个包的模板 choco new <包名> # 示例:创建一个名为 "my-awesome-tool" 的包模板 choco new my-awesome-tool # 根据一个脚本来创建包 choco new <包名> --from-path <脚本路径>
导出和导入已安装列表
当你重装系统或配置新电脑时,这个功能非常有用。
# 导出当前所有通过 Chocolatey 安装的软件列表到一个文件 choco export -o "C:\path\to\my-choco-list.txt" # 在新电脑上,根据导出的文件一键安装所有软件 choco import -i "C:\path\to\my-choco-list.txt" -y
常用参数速查表
| 参数 | 全称 | 描述 |
|---|---|---|
-h |
--help |
显示帮助信息。 |
-v |
--version |
显示 Chocolatey 的版本。 |
-y |
--yes |
自动回答“是”,跳过确认提示。 |
-d |
--debug |
显示详细的调试信息。 |
-r |
--limitoutput |
限制输出,更适合脚本处理。 |
-f |
--force |
强制执行操作,即使通常不建议。 |
--noop |
--whatif |
模拟操作,不实际执行。 |
--source |
指定从哪个源进行操作。 | |
--version |
指定安装的软件版本。 | |
--params |
传递安装参数。 | |
--ignore-dependencies |
忽略依赖项。 | |
--install-location |
指定软件的安装路径。 |
实用技巧
- 以管理员身份运行:很多软件安装需要管理员权限,建议你始终以 管理员身份 打开 PowerShell 或 CMD 来运行
choco命令,以避免权限问题。 - 使用
choco upgrade all定期维护:可以定期运行choco upgrade all -y来保持所有软件为最新版本,这类似于apt-get upgrade或yum update。 - 利用
choco info和choco search:在安装前,先用search查找软件,再用info查看版本信息,可以避免安装到不想要的版本。 - 结合脚本:
choco是自动化部署的利器,你可以将一系列choco install命令写入一个.ps1(PowerShell) 或.bat(批处理) 文件中,实现一键配置开发环境或新电脑。
希望这份详细的指南能帮助你熟练掌握 choco 命令!
