博客访客专享:额外赠送 3 个月免费使用期 + 三年计划 10% 折扣 YSBLOG10
抢购

Chocolatey 安装命令详解及示例

Chocolatey 安装命令(choco install) 使用一行 PowerShell 命令即可从社区或私有存储库安装 Windows 软件包。它支持静默安装、版本锁定、一次安装多个软件包以及自定义参数。

Choco install googlechrome -y 会自动安装 Google Chrome,无需提示,并采用合理的默认设置。如果您是 Windows 新手,可以使用此软件包。 managers,Chocolatey 安装命令是编写脚本、自动化和标准化软件部署的最快方法。

本指南将解释 choco install 的语法、选项和最佳实践,并提供清晰的示例供您直接复制粘贴。作为主机托管服务商,我们还会分享在准备开发人员工作站和 Windows 服务器时使用的实际技巧。


什么是 Chocolatey?为什么要使用安装命令?

Chocolatey 是一个 Windows 软件包 manager 通过以下方式下载、安装和更新软件 命令行 或脚本。

Chocolatey 安装命令

无需点击安装程序, 你使用 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 可以帮助您设计安全、可扩展且适合您基础设施的解决方案。

分享通过:

桑吉特·乔汉

Sanjeet Chauhan是一位博主兼SEO专家,致力于帮助网站实现自然增长。他分享实用的策略、可操作的技巧和独到的见解,以提升流量、提高排名并最大限度地扩大在线影响力。

发表评论

您的电邮地址不会被公开。 必填项 *

滚动到顶部