Chocolatey 安装命令(choco install) 使用一行 PowerShell 命令即可从社区或私有存储库安装 Windows 软件包。它支持静默安装、版本锁定、一次安装多个软件包以及自定义参数。
Choco install googlechrome -y 会自动安装 Google Chrome,无需提示,并采用合理的默认设置。如果您是 Windows 新手,可以使用此软件包。 managers,Chocolatey 安装命令是编写脚本、自动化和标准化软件部署的最快方法。
本指南将解释 choco install 的语法、选项和最佳实践,并提供清晰的示例供您直接复制粘贴。作为主机托管服务商,我们还会分享在准备开发人员工作站和 Windows 服务器时使用的实际技巧。
什么是 Chocolatey?为什么要使用安装命令?
Chocolatey 是一个 Windows 软件包 manager 通过以下方式下载、安装和更新软件 命令行 或脚本。

无需点击安装程序, 你使用 choco 安装用于执行静默、无人值守安装。它是开发人员、IT 管理员和……的必备工具。 CI / CD 管道 速度、可重复性和可审计性至关重要。
Chocolatey 安装命令。常用的辅助关键词包括 choco install 和 Windows 包。 manager,使用 Chocolatey 安装多个软件包,以及 Chocolatey 示例。
开始之前:要求和设置
大多数 Chocolatey 包需要以管理员身份运行 PowerShell 会话。
- 以管理员身份打开 Windows PowerShell 或 Windows 终端
- 确保 TLS 1.2 和执行策略允许安装程序
- 如果缺少 Chocolatey,请安装它。
要安装 Chocolatey(官方方法),请在提升权限的 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 --version现在可以使用 Chocolatey 安装命令了。
Chocolatey 安装命令语法
基本语法:
choco install <packageName> [<packageName2> ...] [options]您日常会用到的常用选项:
- -y 或 -yes:接受所有无人值守安装提示
- –版本=安装特定版本的软件包
- –pre:允许预发布版本
- –来源=使用自定义/本地存储库
- –params 或 –package-parameters:传递包特定的参数
- –installargs 或 –install-arguments:将参数传递给本地安装程序(MSI/EXE)
- –force:即使已安装也强制安装
- –ignore-checksums:绕过校验和验证(谨慎使用)
- -r 或 --limit-output 和 --no-progress:更简洁的 CI 日志
- -v 或 --verbose;-d 或 --debug:更详细的输出,用于故障排除
Chocolatey 安装命令示例
1. 静默安装单个应用程序
此操作无需提示即可安装谷歌浏览器:
choco install googlechrome -y重要性:-y 确保安装程序以无头模式运行,非常适合自动化和远程会话。
2. 一次性安装多个软件包
一行代码即可启动开发者工作站:
choco install git nodejs-lts vscode 7zip -y实用技巧:将此内容保存到 PowerShell 脚本中,以便为新团队成员和服务器映像创建脚本。
3. 安装特定版本
锁定版本以保持构建的可复现性:
choco install nodejs-lts --version=18.18.2 -y在生产服务器上使用此功能,因为即使是次要版本变更也可能导致集成中断。
4. 安装预发布版本
当软件包支持时,访问最新构建版本:
choco install terraform --pre -y仅在测试机或沙箱中使用 –pre 参数。
5. 从内部仓库或本地文件夹安装
对于企业用户,可以将软件包镜像到私有源(例如 Nexus、Artifactory、Azure DevOps)或使用本地文件夹:
# Private feed
choco install 7zip --source="https://repo.company.local/choco" -y
# Local folder containing .nupkg files
choco install mypkg --source="C:\packages" -y益处:提高了可靠性、速度和内部审核的合规性。
6. 传递软件包参数和安装程序参数
许多软件包都接受参数来自定义其行为。请务必查看软件包页面以了解支持的参数。
# Example: Git without shell integration and without AutoCRLF
choco install git -y --params "'/NoShellIntegration /NoAutoCrlf'"
# MSI/EXE arguments passed to native installer
choco install somepackage -y --installargs "'/quiet /norestart'"注意嵌套的引号。Chocolatey 要求将整个参数字符串作为一个整体值来接收。
7. 使用代理工作
只需配置一次代理,然后像往常一样运行安装程序:
choco config set proxy "http://proxy.company.local:8080"
choco config set proxyUser "DOMAIN\user"
choco config set proxyPassword "SecretPassword!"尽可能将密钥安全地存储在您的环境中,或使用安全的凭证库。
确保 Chocolatey 安装可靠的最佳实践
- 以管理员身份运行以避免 权限问题和用户帐户控制 (UAC) 中断。
- 使用 -y 实现自动化 以及 CI 流水线;考虑对非交互式会话启用 choco feature enable -n allowGlobalConfirmation。
- 在服务器上固定版本 –版本号,以保持环境一致。
- 镜像关键软件包 使用私有仓库来减少外部依赖并提高速度。
- 请阅读每个包装上的说明。 支持的参数和静默开关的文档。
- 记录和审计: 为了符合规定,请保留 C:\ProgramData\chocolatey\logs\chocolatey.log 文件。
- 使用 --no-progress 和 --limit-output 可以生成更清晰的 CI 日志。
- 处理重启: 许多软件包支持 /norestart 选项;可在维护窗口后安排重启。
- 定期更新: 在补丁周期内,choco 升级所有 -y。
- 验证校验和(除非绝对必要,否则避免使用 –ignore-checksums)。
常见安装错误故障排除
执行策略或TLS错误
使用前面显示的安装引导程序代码片段来设置执行策略和 TLS 1.2。始终以管理员身份启动 PowerShell。
校验和不匹配
如果上游供应商更新了二进制文件,则可能会出现这种情况。请避免绕过校验和验证。相反,请更新软件包元数据(对于内部软件包)或等待社区软件包更新。作为最后的手段,可在受控环境中暂时使用 `--ignore-checksums` 参数。
防病毒或EDR拦截
安全工具可能会隔离安装程序。请根据您的安全策略,将 Chocolatey 的缓存路径添加到白名单(检查 C:\ProgramData\chocolatey 下的 choco config get cacheLocation 或 default)。
安装程序需要图形用户界面或用户交互
确认软件包支持静默安装模式。使用 `--installargs` 参数或软件包参数启用静默模式。部分厂商的安装程序可能不完全支持静默模式;请先在虚拟机上进行测试。
在哪里查看日志
Chocolatey 会将日志记录到 C:\ProgramData\chocolatey\logs\chocolatey.log。要查看更详细的日志信息,请使用 -d -v 参数重新运行。许多原生安装程序也会将日志记录到 %TEMP% 或它们自己的目录中。
实际应用案例(开发、持续集成和服务器)
- 开发者入职: 一个脚本即可在几分钟内安装 IDE、SDK 和工具。
- CI 运行器和构建代理: Choco 可确保临时代理上的工具链版本完全一致。
- Windows 服务器: 规范跨车队的部署;将已批准的软件包存储在私有源中。
- 灾难恢复: 使用单个软件包清单重建工作站。
At YouStable我们经常帮助团队实现 Windows 服务器配置的自动化。无论您是使用 managed Windows VPS 或专用服务器使用 Chocolatey 和私有仓库可以提高安全性、缩短构建时间并保持环境一致性。如果您需要将 Chocolatey 集成到服务器镜像或流水线中的指导,我们的专家可以提供帮助。
完整脚本示例:启动一台新机器
使用此示例可以快速获得一台可用于开发的机器。请以管理员身份运行 PowerShell:
# Ensure TLS and install Chocolatey (skip if already installed)
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'))
# Install core tools silently
choco install git nodejs-lts vscode 7zip googlechrome -y --no-progress
# Verify installs
git --version
node --version
code --version该模板可轻松应用于构建代理、课堂实验室或云虚拟机。
另请查看这些命令
• Linux 中 chown 命令详解及示例
• Linux 中的 echo 命令详解及示例
• Linux 系统中的 NMAP 命令 | 终极网络扫描指南
• Linux 系统中的 head 命令 | 完整用户指南及示例
常见问题
choco install 和 choco upgrade 有什么区别?
`choco install` 命令用于安装不存在的软件包(如果安装了则强制安装)。`choco upgrade` 命令用于将已安装的软件包更新到最新版本(或指定版本)。要更新所有软件包,请使用 `choco upgrade all -y` 命令。
如何使用 Chocolatey 安装特定版本?
添加 -version 参数。例如: 使用 choco install python --version=3.11.7 -y 安装 Python。固定版本可确保不同机器和 CI 流水线之间的环境一致性。
choco install 命令中的 -y 参数有什么作用?
-y(或 -yes)选项会自动确认无人值守安装的提示。这对于脚本、远程会话和 CI/CD 流水线至关重要,因为在这些场景中,没有用户可以点击对话框进行操作。
何时应该使用 --params 参数,何时应该使用 --installargs 参数?
`--params`(或 `--package-parameters`)参数由 Chocolatey 软件包的脚本解析。`--installargs`(或 `--install-arguments`)参数则直接传递给供应商的安装程序(MSI/EXE)。部分软件包同时支持这两种参数;请查看软件包页面以了解推荐用法。
我可以在没有管理员权限的情况下使用 Chocolatey 吗?
Chocolatey 支持非管理员安装。 在某些情况下,但许多软件包需要管理员权限才能写入程序文件或系统路径。为了确保可靠性,请以管理员身份运行,或使用与非管理员模式兼容的位置和软件包。
Chocolatey 安装命令是一个功能强大且省时的 Windows 自动化工具。可以先从几个软件包开始,然后逐步扩展到版本锁定清单和私有仓库。如果您要在服务器或团队中部署此工具, YouStable 可以帮助您设计安全、可扩展且适合您基础设施的解决方案。