在 PowerShell 中安装 Chocolatey,并使用 Chocolatey 更新 Dapr
Chocolatey 简介
📋 什么是 Chocolatey?
Chocolatey 是 Windows 平台上的包管理器,类似于 Linux 系统中的 apt、yum 或 pacman。它允许用户通过命令行界面轻松安装、升级、卸载和管理软件包。
官网地址:
https://chocolatey.org/
🎯 核心功能
| 功能类别 | 描述 |
|---|---|
| 软件包管理 | 一键安装数千种软件、自动处理依赖关系、批量操作支持 |
| 自动化部署 | 脚本化安装过程、无人值守安装、企业环境部署 |
| 版本控制 | 安装特定版本软件、升级和降级支持、版本锁定功能 |
🏗️ 架构特点
| 架构组件 | 描述 |
|---|---|
| 软件包仓库 | 公共社区仓库(免费使用的开源软件包)、商业版仓库(企业内部私有软件包)、自托管仓库(组织内部分发定制包) |
| 安装方式 | 本地安装(从本地源安装软件包)、网络安装(从远程仓库下载安装)、便携式安装(不修改系统注册表的绿色安装) |
💼 使用场景
个人用户
# 快速安装常用软件
choco install googlechrome firefox vscode git nodejs# 批量升级所有软件
choco upgrade all
开发者
# 搭建开发环境
choco install dotnetcore-sdk python nodejs docker-desktop# 管理开发工具
choco install postman fiddler wireshark
系统管理员
# 企业批量部署
choco install adobe-reader office365proplus --source=internal-repo# 自动化运维脚本
choco upgrade critical-packages --source=internal-security-repo
📊 主要优势
| 特性 | 说明 |
|---|---|
| 简单易用 | 类似 npm/yum 的命令语法 |
| 自动化 | 无人值守安装,适合脚本化操作 |
| 集中管理 | 统一管理所有软件包 |
| 可追溯性 | 记录安装历史和配置 |
| 扩展性强 | 支持自定义包和私有仓库 |
📦 软件包生态
官方仓库统计
- 超过 9,000+ 个社区维护的软件包
- 涵盖开发工具、办公软件、系统工具等各类应用
- 每日更新和维护
常见软件包示例
- 开发工具:
Git, Node.js, Python, Visual Studio Code - 浏览器:
Google Chrome, Firefox, Microsoft Edge - 系统工具:
7-Zip, Notepad++, WinRAR - 多媒体:
VLC, Spotify, Adobe Reader
🛡️ 安全特性
包验证
SHA256校验和验证- 数字签名检查
VirusTotal集成扫描
审计跟踪
- 安装/卸载日志记录
- 配置变更追踪
- 合规性报告
访问控制
- 用户权限管理
- 包源访问控制
- 安装策略配置
🔄 工作流集成
CI/CD 集成
# 示例:在构建脚本中使用 Chocolatey
- script: choco install dotnetcore-sdk --version 3.1.400
- script: choco install nuget.commandline
配置管理工具
- Puppet:
chocolatey.chocolatey模块 - Chef:
chocolatey cookbook - Ansible:
win_chocolatey模块 - Salt:
chocolatey模块
📈 版本对比
| 功能 | 社区版 (免费) | 商业版 |
|---|---|---|
| 基础包管理 | ✓ | ✓ |
| 私有仓库 | × | ✓ |
| 中央管理 | × | ✓ |
| 自动许可 | × | ✓ |
| 优先支持 | × | ✓ |
Chocolatey 为 Windows 用户提供了现代化的软件包管理体验,大大简化了软件的安装、维护和部署工作,特别适合开发者、系统管理员以及需要频繁安装软件的用户群体。
在 PowerShell 中安装 Chocolatey
Chocolatey 是 Windows 的包管理器,可以帮助您轻松管理和升级各种软件包,包括 Dapr。
🛠️ 安装 Chocolatey 步骤
1. 打开 PowerShell(管理员权限)
- 按
Win + X键,然后选择 Windows PowerShell (管理员) 或 终端 (管理员) - 或者搜索
PowerShell并右键选择"以管理员身份运行"
2. 设置执行策略
# 允许执行本地脚本
Set-ExecutionPolicy Bypass -Scope Process -Force# 或者设置为 RemoteSigned(更安全)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
3. 安装 Chocolatey
# 方法一:使用官方安装命令
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'))# 方法二:逐行执行(更容易排查问题)
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
4. 验证安装
# 关闭并重新打开 PowerShell 窗口(管理员)
choco --version
# 应该输出类似:
2.5.1
🔧 配置 Chocolatey(可选)
更新环境变量
# 刷新环境变量(无需重启 PowerShell)
refreshenv
配置常用设置
# 启用自动确认(避免每次都要输入 Y)
choco feature enable -n allowGlobalConfirmation# 启用自动升级
choco feature enable -n autoUninstaller
📦 使用 Chocolatey 安装 Dapr
安装 Chocolatey 后,您可以使用它来管理 Dapr:
# 安装 Dapr CLI
choco install dapr# 或者安装特定版本
choco install dapr --version=1.16.1# 升级 Dapr(如果已安装)
choco upgrade dapr --version=1.16.1# 卸载 Dapr
choco uninstall dapr
- 完整示例信息:

- 更新
Dapr运行时:
如果使用 Docker 模式,还需要更新 Dapr runtime 容器:
# 卸载当前的 Dapr 运行时
dapr uninstall# 使用指定版本重新初始化
dapr init --runtime-version 1.16.1# 如果使用 Docker 容器运行时
dapr init --runtime-version 1.16.1 --container-runtime docker
- 🧪 验证更新结果
验证 Docker 容器(如果使用 Docker)
# 检查 Dapr 容器是否运行正确版本
docker ps | Select-String dapr# 应该看到类似输出:
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# xxxxxxxxxx daprio/dapr:1.16.1 "./placement" Up 2 minutes 50005/tcp dapr_placement
🔍 故障排除
1. 如果遇到执行策略错误
# 检查当前执行策略
Get-ExecutionPolicy# 设置合适的策略
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
2. 如果下载失败
# 检查网络连接
Test-NetConnection community.chocolatey.org -Port 443# 尝试使用代理(如果有)
$webclient = New-Object System.Net.WebClient
$webclient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
iex ($webclient.DownloadString('https://community.chocolatey.org/install.ps1'))
3. 验证安装路径
# 检查 Chocolatey 是否正确安装
where.exe choco
# 应该返回安装路径,例如: C:\ProgramData\chocolatey\bin\choco.exe
✅ 验证完整安装流程
# 1. 检查 Chocolatey 版本
choco --version# 2. 列出已安装的包
choco list --local-only# 3. 安装一个测试包
choco install git -y# 4. 检查 Git 是否安装成功
git --version
完成以上步骤后,您就成功在 Windows 11 上安装了 Chocolatey 包管理器,并可以通过它来管理 Dapr 和其他软件包。
