Chocolatey 完全指南:用包管理器重塑 Windows 软件安装体验

发布时间:2026/9/19 12:56:36
Chocolatey 完全指南:用包管理器重塑 Windows 软件安装体验 1. 为什么要装 Chocolatey包管理器到底解决了什么问题1.1 Windows 装软件的老大难在 Windows 上装软件我估计每个搞开发的人都经历过类似的场景浏览器打开搜索引擎找到一个软件的官网点进去找下载链接下载一个几十 KB 的安装引导程序然后一路点“下一步”有时候还要手动取消几个捆绑勾选项装完还要去桌面把快捷方式拖到某个文件夹。这套流程偶尔来一次还能忍但要是在新电脑上装 Node.js、Git、Python、VS Code、Docker Desktop、7-Zip 这种十几个开发必需品一上午基本就耗进去了。这还没算更麻烦的——版本管理。你给电脑装了一个 PostgreSQL半年后想升个级得去官网看现在大版本号是多少下载新安装包卸载旧版本还得担心数据目录、服务名、环境变量这些残留问题。装的时候是“下一步”狂魔卸的时候却经常卸不干净注册表里、AppData 里、服务列表里到处是残留。我相信老 Windows 用户对此都有一肚子苦水。Chocolatey 就是冲着这个痛点来的。它是一个跑在 Windows 上的包管理器把软件安装、升级、卸载、配置这些操作统一收敛到命令行里。你想装 Git不用去浏览器不用打开安装向导管理员权限下敲一行命令它自动下载、自动静默安装、自动配置环境变量全程不需要你操作鼠标。想卸载再敲一行命令干干净净。想升级一行命令把系统里所有用 Chocolatey 装的软件全部扫一遍升级省事程度远超一个个手动处理。1.2 Chocolatey 把 Linux 的包管理体验带到了 Windows用过 Linux 的同学肯定对apt install这种命令印象深刻。一条命令装 Nginx一条命令装 MySQL依赖自动解决升级自动处理。Windows 社区一直在等一个对等的工具Chocolatey 是目前最接近这个体验的方案没有之一。Chocolatey 的核心逻辑是这样的它维护了一个软件仓库社区贡献者把常用软件的安装过程写成了自动化脚本在 Chocolatey 里叫 package这些脚本负责处理下载、静默安装参数、环境变量配置、快捷方式创建这些脏活累活。用户在命令行里执行choco install gitChocolatey 会从仓库拉取这个 package然后按脚本执行底层实际还是调用官方安装包完成安装但整个过程被自动化和标准化了。它和手动安装相比有几个实打实的好处。第一是可复现你在 A 电脑上写了份安装列表拿到 B 电脑上一条命令全部装回来版本一致行为一致。第二是可脚本化可以写一个 .bat 或 PowerShell 脚本把新员工入职的软件环境初始化变成全自动流程。第三是信息透明choco list能告诉你当前机器上装了哪些包、版本号是多少、有没有可升级的版本这比在“控制面板-程序和功能”里翻列表直观得多。这个工具适合作开发者、运维人员、经常折腾多台电脑的“装机专业户”也适合理科生、工程师这种需要频繁切换工具链的人群。如果你只是用电脑看网页、办公那确实用不上它但只要你需要在 Windows 上装开发工具、装常用效率软件这个工具值得花半小时装起来。2. 安装前的准备不踩坑的基础条件2.1 检查你的 Windows 版本和 PowerShellChocolatey 对系统的基本要求不高Windows 7 SP1 以上、Windows Server 2008 R2 以上都能跑。不过我的建议是如果条件允许尽量用 Windows 10 或 Windows 11因为新版本系统对 PowerShell 5.1 的支持更好而 PowerShell 是 Chocolatey 的运行根基。安装之前先确认两件事。第一件事是看系统版本Win R 输入winver回车弹出的窗口里能看到系统版本号。第二件事是确认 PowerShell 版本在开始菜单搜索 PowerShell打开后执行$PSVersionTable.PSVersion如果输出的主版本号大于等于 5就没问题。Windows 10 和 11 自带的 Windows PowerShell 5.1 完全够用不需要额外装 PowerShell 7。这里顺带说明一下Chocolatey 官方脚本兼容 Windows PowerShell 和 PowerShell Core但对于绝大多数用户来说系统自带的 5.1 就是最稳妥的选择。2.2 理解执行策略Execution Policy别盲目改Windows 默认对 PowerShell 脚本的执行做了限制这也就是很多新手第一次执行 Chocolatey 安装命令时系统直接甩给你一行红字“因为在此系统上禁止运行脚本”的根本原因。这行报错直接把很多人劝退了其实是没理解机制。PowerShell 的执行策略Execution Policy有几种Restricted默认不运行任何脚本、AllSigned只运行有可信数字签名的脚本、RemoteSigned本地脚本可运行远程下载的脚本需要签名、Unrestricted所有脚本都能跑。Windows 客户端系统默认是Restricted所以任何 .ps1 脚本都运行不了。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))注意看前面那段Set-ExecutionPolicy Bypass -Scope Process -Force它的意思是在当前进程范围内临时放行脚本执行并不会永久改动你系统的执行策略。用-Scope Process这个作用域非常克制进程一关策略恢复原样不会对你的系统安全模型造成持久影响。这个细节很多人忽略了。不少网上的教程直接叫人Set-ExecutionPolicy RemoteSigned甚至Unrestricted还告诉你要永久改实际上完全没必要。如果只是为了装 Chocolatey这条命令开一个小口就够了。如果你想以后自己写 ps1 脚本也方便一点那可以把执行策略设成RemoteSigned但要用管理员 PowerShell 执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser这样只影响当前用户不需要动管理员权限安全性也更好。2.3 关闭用户账户控制UAC的误区关于 UAC我看到太多帖子说“安装 Chocolatey 之前必须把 UAC 降到最低”这是典型的错误建议。UAC用户账户控制是 Windows 的权限隔离机制把它关闭意味着所有程序都以管理员权限运行一旦跑了个恶意脚本它能干的事就非常多了完全没必要为了装个工具把自己机器裸奔。Chocolatey 的正常使用姿势是以管理员身份打开 PowerShell 或终端再去执行安装命令或需要管理员权限的 choco 命令。平时普通权限的终端也照样能用 choco 查询、搜索包只是install、upgrade这种写操作通常需要管理员权限。判断当前终端是不是管理员可以直接看窗口标题栏Windows 11 的终端会在标题栏显示“管理员”字样或者执行([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)返回True就是管理员身份False就不是。这个判断方法在写自动化脚本时非常实用可以在脚本开头做个校验避免后续命令因为权限不足而接连报错。3. 完整的安装实操从零到能用3.1 官方推荐安装方式详解准备好了之后正式安装 Chocolatey 的流程其实就是一个命令的事。我按最标准、最不容易出错的完整流程走一遍。第一步右键点击开始菜单按钮选择“终端(管理员)”或者“Windows 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))这行命令里有几个细节值得讲一下。SecurityProtocol那段是为了把传输安全协议调成支持 TLS 1.2。老版本 Windows 上如果默认不启用 TLS 1.2直接下载脚本会失败-bor 3072这个操作数对应的就是 TLS 1.2 的枚举值。Windows 10 1809 之后默认开启 TLS 1.2执行这段代码也不会有什么副作用留着无妨。iex是Invoke-Expression的缩写意思是把脚本内容下载下来后直接当作 PowerShell 命令在当前会话中执行。这条命令的安全性关键取决于你下载的来源是不是官方的community.chocolatey.org只要别从乱七八糟的第三方站点复制这样的命令来执行就没有额外风险。第三步等待脚本跑完。正常情况下脚本会检测 .NET Framework 版本如果需要会自动安装 .NET Framework 4.8这个过程可能要重启也可能会卡一会儿然后安装 Chocolatey 本体最后输出一条Chocolatey (v2.x.x) is now installed之类的提示。3.2 离线安装和其他备选方案有些公司内网环境限制外网访问或者你手头正好有一台根本连不上社区仓库的机器这时候离线安装派得上用场。先在一台能正常访问外网的机器上用浏览器打开https://community.chocolatey.org/api/v2/package/chocolatey这个地址会直接触发一个 .nupkg 文件的下载。把这个文件拷到目标机器上然后在目标机器的管理员终端里执行choco install chocolatey -s nupkg文件所在的本地目录路径注意把路径换成实际保存的目录比如D:\offline-pkgs。这个方式利用了 Chocolatey 支持本地源的能力只要机器上还没有任何包管理器它也能靠本地源把自己装上。另外如果你已经装好了 Chocolatey 本体想把某个软件离线安装到另一台机器上也可以用同样的思路。在一台联网机器上执行choco download git -s https://community.chocolatey.org/api/v2/ --internalize --recurse --outputdirectoryD:\offline-pkgs这条命令会把 Git 以及它的依赖包全部下载到D:\offline-pkgs目录里然后把整个目录拷到目标机器执行choco install git -s D:\offline-pkgs --skip-virus-check这里说明一下--internalize参数会把 package 重打包成不依赖社区源、只从本地缓存读取安装文件的包适合离线分发场景。--skip-virus-check是因为离线源没有病毒扫描服务不跳过会报错。这种方式在批量给实验室设备、无外网机房装环境时特别好用。3.3 安装完成后的三件套验证、更新、配置装完 Chocolatey 之后不要急着装软件先做三件事。第一件事验证安装。新开一个管理员终端注意要新开这样环境变量才生效执行choco -v如果输出类似2.3.0这样的版本号说明安装成功。如果提示“不是内部或外部命令”多半是环境变量没有刷新可以注销重登或者新开一个终端窗口再试。第二件事把 Chocolatey 自身更新到最新版choco upgrade chocolatey安装脚本自带的是当前最新版但偶尔会有缓存或版本滞后执行一次升级可以确保后续操作走的是最新代码。第三件事考虑是否要关掉安装确认提示。Chocolatey 在执行安装操作时默认会弹出一个确认提示让你按 Y/N。如果你是在手动操作这个提示问题不大但如果你想跑自动化脚本这个确认框就很烦人。可以在管理员终端里执行choco feature enable -n allowGlobalConfirmation这个命令把“全局确认”开关打开了之后所有 choco install 命令都默认自动确认不再弹窗。我自己的习惯是开一个专用参数而不是全局开启即执行安装时加上-y参数choco install git -y这样更多的是把选择权留给每条命令的场景。不过你如果主要是靠脚本批量装环境那全局确认打开也无妨。需要说明的是这种自动化确认是否安全取决于你装的包是否可信凡是来历不明的包还是建议看看它要干什么再装。4. 日常使用指南这些命令够用了4.1 最常用的 choco 命令整理Chocolatey 装完之后日常使用其实只需要记住几个命令。我在下面做一个速查表格照着用就行。命令作用示例choco search 关键词搜索软件包choco search nodejschoco install 包名安装软件包choco install vscode -ychoco list查看本机已装并通过 choco 管理的包choco listchoco upgrade 包名升级指定包choco upgrade gitchoco upgrade all升级所有可升级的包choco upgrade all -ychoco uninstall 包名卸载软件包choco uninstall 7zipchoco info 包名查看包详情choco info pythonchoco outdated查看哪些包有新版本choco outdated搜索命令值得多说一句。choco search git会返回一堆包含 git 关键词的包比如git、git-lfs、gitbash、gitflow等等。你如果只是想装那个最经典的 Git 客户端认准包名就叫git的那个。choco search返回结果里会有版本号和下载量统计下载量高的那个通常就是大家普遍在用的。另外一个实用功能是choco info比如choco info nodejs-lts可以看到这个包当前版本是什么、依赖哪些包、官方下载地址是什么。这在你手工排查问题时很有帮助。4.2 批量安装软件一份配置文件搞定日常开发环境Chocolatey 有一个特别推荐的功能——通过一个文本配置文件来批量安装软件。这个功能对重装系统、新员工入职、多台开发机初始化这些场景太有用了。先创建一个文本文件比如叫packages.config内容格式如下?xml version1.0 encodingutf-8? packages package idgit / package idnodejs-lts / package idpython / package idvscode / package id7zip / package idgooglechrome / package iddocker-desktop / package idpostman / /packages文件里每行是一个包id是包名可以加version属性指定版本号。保存好这个文件后在管理员终端执行choco install packages.config -yChocolatey 会按顺序把列表里的软件一个个装完中间不需要你再点任何按钮。我实际用下来在一个干净的 Windows 11 上装完上面这 8 个软件总耗时大概 15 到 20 分钟具体看网速。相比手动装省下的时间不是一点半点。对于不同的使用场景建议维护不同的配置文件。比如“前端开发人员环境”配 Node.js、VS Code、Git“后端开发人员环境”配 OpenJDK、Docker、IntelliJ IDEA。这样新同事入职时直接把对应配置文件丢给他一条命令把环境跑起来靠谱程度远高于发一份“请依次安装以下软件”的文档。4.3 更新、卸载与查看已装软件升级是 Chocolatey 另一个高频场景。手头环境用久了安装的软件积累了不少你想看看哪些软件有新版本执行choco outdated输出结果里会列出包名、当前版本、可升级版本。想一次全部升级执行choco upgrade all -y这条命令会把所有通过 Chocolatey 管理的软件升级到各自的最新版。需要提醒的是升级前最好先确认一下软件自身的兼容性尤其像 Node.js 这种大版本更新可能影响项目构建的工具建议查一下新版本是否兼容你当前的项目别一股脑upgrade all把生产环境搞挂了。我自己的习惯是开发机器的个人工具可以upgrade all但涉及公司项目依赖的运行时环境单独升级、逐项验证。卸载软件的命令也很直接choco uninstall 7zip -yChocolatey 的卸载脚本会主动调用软件的卸载程序尽量把该清的都清掉。实测下来它比控制面板卸载更干净因为大部分包的卸载脚本还包含了删除环境变量、清理注册表键值的逻辑。不过要说完全不留一点痕迹也不敢打包票毕竟 Windows 生态太复杂了个别第三方软件自己写了奇怪的残留逻辑编译器、杀毒软件这类尤其难伺候。查看本机已装了哪些包choco list输出只显示那些通过 Chocolatey 装过的软件。如果你想找某个特定包可以配套过滤参数choco list --local-only --exact nodejs-lts5. 避坑指南我踩过的坑都在这了5.1 执行策略相关的坑我见过最多的新手报错就是安装时提示“无法加载文件 ... 因为在此系统上禁止运行脚本”。网上的应对方案五花八门有人让你用管理员身份改注册表有人让你把执行策略改成Unrestricted其实在安装阶段只需要照官方命令用Bypass -Scope Process就够了。真正需要区分的是安装后如果遇到个别软件包安装脚本运行失败报的也是执行策略相关的错那大概率不是 Chocolatey 的问题而是你系统中某处策略把运行脚本的路径给限制死了。这个时候除了执行策略还要检查是不是有 GPO组策略层面的脚本执行限制。企业域环境里IT 管理员可能全局限制了 PowerShell 脚本执行这时候Set-ExecutionPolicy是改不了的会报“策略被组策略覆盖”。遇到这种情况用户自己能做的有限只能联系管理员申请放行。另外有个细节执行策略有多个作用域MachinePolicy、UserPolicy、Process、CurrentUser、LocalMachine。优先级是策略 用户 进程。-Scope Process设置的策略只在当前进程生效关闭终端就没了。所以如果你要长期跑 ps1 脚本正确做法是使用-Scope CurrentUser这样只影响你当前的用户账户。5.2 网络下载失败或超时安装软件包时Chocolatey 需要去对应软件的官方下载地址拉安装包。国内网络环境下访问一些境外的下载源确实有可能不稳定表现就是安装卡住、下载失败、报错Error downloading等。这不代表 Chocolatey 本身有问题而是它的下载环节被网络状况卡住了。这种问题有几个处理方向。首先是重试Chocolatey 支持指定重试次数和重试等待时间。执行命令时加参数choco install nodejs-lts -y --download-timeout600--download-timeout单位是秒默认好像是 300 秒新版 choco 可能不同如果网络不好可以调大。还可以加参数choco install nodejs-lts -y --attempts5 --request-timeout60--attempts表示下载失败后重试几次默认是 4 次左右。这两个参数一个管超时一个管重试配合使用能解决大部分偶发性的网络下载失败。其次可以考虑更换镜像源。Chocolatey 的软件包本体存储在社区仓库但安装时实际下载的安装包多半在软件官方的下载站点。因此改 Chocolatey 的源解决不了安装包下载慢的问题除非在包的安装脚本里配置了可替换的下载地址。这一点是新手最容易误解的地方以为把所有源改成国内镜像就万事大吉其实 Chocolatey 源的镜像只能解决包元数据下载的问题真正占流量的是安装包文件。5.3 权限相关的坑不一定要全程管理员Chocolatey 对权限的要求比较特别很多人以为所有的 choco 命令都要用管理员身份跑。实际上像search、list、info这一类只读查询操作普通权限终端也可以执行。真正需要管理员权限的是写操作比如install、upgrade、uninstall因为软件的安装过程涉及写入Program Files、修改注册表、注册 Windows 服务这些敏感操作。我推荐的做法是日常查询用普通终端安装升级再切管理员终端。不要在普通终端执行安装命令后遇到权限报错就抱怨工具不好用先确认自己是不是管理员身份。另外提醒一句在管理员终端里执行命令时Command 的当前工作目录默认是C:\Windows\System32经常有人在这下面试着创建目录或者安装什么奇怪的包最后留下一堆权限混乱的问题。建议用管理员终端时先cd C:\或者到你自己的用户目录下再操作。5.4 版本冲突和依赖问题Chocolatey 虽然能自动处理大部分依赖但遇到某些特殊情况还是会和已有的手动安装产生冲突。比如你电脑上已经手动装了 Python 3.9之后再用choco install python装了一个新版本两个版本的环境变量会打架python --version到底输出什么取决于环境变量里谁的路径排在前面。这种情况不是 Chocolatey 的 bug而是 Windows 环境变量处理的固有坑。建议的规避方式如果电脑上已经手动装了某个软件而你想转为用 Chocolatey 管理最好先把手动安装的版本卸载干净再用 Chocolatey 重新安装同一版本。Chocolatey 社区有些包安装时会检测到已有安装的提示比如git包会问你是不是已经有了 Git for Windows答错了可能会导致装出两个实例。另外一个常见的依赖问题是某些包强依赖 Visual C Redistributable如果你系统恰好缺了某个版本的运行库安装包可能中途失败。Chocolatey 的依赖机制会在装主包之前先把vcredist这种依赖包装好但有时老版本包的依赖列表不完整导致你手动补齐运行库。遇到安装失败时别只盯着报错最后一行往上翻翻日志经常能看到具体是哪个依赖没装好。5.5 常见问题速查表下面整理了我遇到的高频问题做成表格方便快速对照处理。问题现象可能原因处理方式安装报“禁止运行脚本”PowerShell 执行策略受限用Set-ExecutionPolicy Bypass -Scope Process -Force临时放行choco不是内部或外部命令环境变量未刷新或安装失败新开终端检查C:\ProgramData\chocolatey\bin是否在 PATH 中下载卡住很久然后超时网络不稳定或下载超时时间太短增加--download-timeout和--attempts安装后软件无法启动安装版本与系统不兼容或依赖缺失查看包日志确认是否缺少运行库尝试安装vcredist等依赖升级某个包报错旧版本残留或包脚本升级逻辑有误先卸载再重装到新版本choco list显示空普通权限只读查询没问题但仍为空确认 package 是否装到了默认目录C:\ProgramData\chocolatey\lib安装时要求确认输入 Y/N全局确认未开启加-y参数或choco feature enable -n allowGlobalConfirmation这个表只覆盖了高频问题实际使用中你还会碰到更奇怪的情况。我的原则是遇到问题先重跑命令看完整日志再考虑搜索解决方案。Chocolatey 的日志一般输出在C:\ProgramData\chocolatey\logs\choco.log里面记录了每次操作的详细过程很多问题从日志里能直接看到原因。5.6 卸载 Chocolatey 本身就是个技术活这个坑估计很多人不知道如果你不想用 Chocolatey 了想彻底卸载它光靠“程序和功能”是找不到入口的因为它不是一个传统意义上的软件。正确的卸载方式是在管理员终端执行choco uninstall chocolatey这个命令会把 Chocolatey 的程序文件从机器上移除但不会清理它装过的那些软件。也就是说如果你之前用 Chocolatey 装了 Git、VS Code卸载 Chocolatey 之后这些软件仍然存在于系统里只是以后要手动升级维护了。如果你还想把 Chocolatey 之前装的软件也一并卸载掉得先执行choco list把包记录导出来再逐一choco uninstall或者干脆用choco uninstall all不推荐会把所有包全部卸掉。这个设计其实也体现了 Chocolatey 的定位它更像一个“安装管理员”而不是深入系统底层的软件管家。它管理的是软件包的安装行为而不是接管这些软件的运行生命周期。理解这一点之后你使用 Chocolatey 的心态也会更清晰——它是一个工具不是一个上帝。6. 进阶玩法让 Chocolatey 更贴合你的习惯6.1 自定义安装目录默认情况下Chocolatey 管理的软件大部分会安装到默认位置比如C:\Program Files或用户目录。但如果你想给某些软件指定安装目录Chocolatey 提供了包安装参数--params也叫--package-parameters。具体支持哪些参数取决于包的安装脚本支持什么。比如安装无边界浏览器chromium类软件时可能可以指定用户目录但大多数包并不支持自定义安装路径。真正靠谱的做法是看包的信息。执行choco info 包名返回结果里的Package Parameters字段通常会列出支持的自定义参数。没有这个字段的包一般意思就是“只按默认方式装”。所以不要指望所有包都能通过 Chocolatey 装到你指定的目录。在这一点上Windows 生态和 Linux 包管理有本质差异Linux 软件本身就是一堆文件、依赖库可以灵活分布Windows 软件很多是商业安装器安装逻辑自带一套包管理脚本只能默认走它的流程。6.2 配置本地源和私有源对于企业用户而言每次从公共网络拉包毕竟受制于外网状况和不可控的仓库可用性。Chocolatey 支持配置本地源或私有源你可以用 Nexus、Artifactory 这类制品库软件把社区源缓存一份到内网之后所有机器统一走内网源安装。配置源之前先搞清楚一个概念Chocolatey 的源是一个 OData 服务地址默认是https://community.chocolatey.org/api/v2/。如果你想临时指定使用本地源可以在命令里加-s参数。如果想长期切换可以执行choco source add -n internal -s http://内网源地址/api/v2/ --priority1把internal这个名字设置成优先级最高的源之后所有安装会优先走内网找不到包时再回退到社区源。在企业内网做批量装机时这个玩法能显著提升安装速度和稳定性。不过说实话一般家庭用户根本没到配置私有源的程度我也没必要推荐大家去搭一套 Nexus 来“省钱”重量级工具解决重量级问题。家庭场景下保持默认的社区源、配合重试参数已经足够满足日常需求了。6.3 与自动化脚本结合新电脑一条命令进入工作状态讲到进阶玩法就必须提到 Chocolatey 在自动化脚本里的价值。假设你每半年换一次电脑或者经常需要给测试机重装系统完全可以写一个 PowerShell 初始化脚本把 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)) # 安装开发环境 choco install git nodejs-lts python vscode -y choco install 7zip googlechrome -y # 初始化配置 git config --global user.name Your Name git config --global user.email youremail.com把这个脚本保存为init.ps1放到网盘或者代码仓库里换新电脑时只需要下载、右键“使用 PowerShell 运行”即可。注意这只是一个基础示例真实的初始化脚本还可以加上 Windows Terminal 配置、WSL 环境安装、SSH 密钥生成等等扩展空间非常大。自动化脚本最核心的优势就是“确定性”同样的脚本跑一百遍结果理论上一致不会像手工操作一样这次多点了个勾那次忘了装某个依赖。在团队协作场景中把软件安装做成脚本下发到每位成员的机器上可以让“我的电脑怎么跑不起来”这个经典问题减少一大半。写在最后Chocolatey 改变的不是装软件这一个动作我个人使用 Chocolatey 已经有相当长的时间了现在我做 Windows 开发环境配置的第一反应永远是先装它再用它来装其他东西。回头来看Chocolatey 给我最大的感受不是“省了那些点下一步的时间”而是“把装软件这件事从心里彻底放下了”。以前装软件我总会有意无意担心装到一半断电怎么办装错了版本会不会污染环境卸载的时候会不会有残留这些焦虑在用了包管理器之后基本消失了。因为每次操作都有日志每个包都有明确的版本号我不喜欢一个软件了一条命令卸得干净利落。这种确定性和可控感对长期在 Windows 上折腾的人来说是特别宝贵的体验。如果你刚接触 Chocolatey我的建议是从一个小目标开始先拿它装一个软件比如 7-Zip 或 Git用顺了之后再逐步把你日常使用的工具都迁移到 Chocolatey 管理。你会发现当你的软件环境变成“代码仓库里的一个配置文件 一条命令行”时你才真正掌握了 Windows 软件管理的主动权。