如果您在管理和维护环境中的软件方面感到困扰,那么您将有一个愉快的体验。在这篇文章中,您将学到如何安装 Chocolatey 并掌握软件包的管理!
在这篇文章中,您将亲自学习如何安装Chocolatey,管理软件,并对这个产品的基本介绍有一定了解。
先决条件
本教程将是一次逐步演练。如果您打算跟着做,请确保已满足以下先决条件。
- Windows 10 – 本教程将使用Windows 10 1903。
- Windows PowerShell 5.1(可选) – 尽管这在技术上并非Chocolatey所必需,但本文的所有示例都将使用它。
有关所有技术要求的详细说明,请查看Chocolatey要求页面。
安装Chocolatey
开始使用Chocolatey时,您的第一个任务将是下载并安装Chocolatey客户端。从技术上讲,Chocolatey还有一个服务器组件,但在本文中,您将专注于使用客户端来下载、安装和更新软件。
您可以以许多不同的方式安装Chocolatey。在这篇文章中,您将学到最常见的方式,即使用PowerShell。
要详细了解如何以多种不同的方式安装Chocolatey客户端,请查看Chocolatey安装指南。
要安装Chocolatey,该公司提供了一个方便的PowerShell脚本,在您的系统上执行。在运行安装脚本之前,您应该先检查它再下载。您可以在这里找到脚本。
在以管理员身份打开的PowerShell控制台中,通过一条命令下载并执行脚本。
下面的代码片段:
- 确保PowerShell可以在chocolatey.org服务器上导航SSL 证书
- 从https://chocolatey.org/install.ps1下载脚本
- 下载脚本后运行
- 将%ALLUSERSPROFILE%\chocolatey\bin文件夹添加到PATH环境变量

您可能会遇到有关执行策略的错误。如果是这样,您当前的执行策略可能不允许执行脚本。要解决此问题,请确保放宽您的执行策略,将其设置为Unrestricted或RemoteSigned。
验证安装
一旦PowerShell脚本完成并返回到PowerShell控制台,确认您可以运行名为choco.exe的Chocolatey客户端。
当您运行choco时,您应该会看到已安装的版本以及一些基本的帮助信息,如下所示。
获取帮助
Chocolatey CLI客户端最好的一点是它的帮助系统。内置的帮助系统非常好地记录了Chocolatey的所有功能。
要访问帮助系统,请向choco命令提供-?
开关,如下所示。
您可以看到Chocolatey客户端有各种命令,您可以执行许多不同的功能来管理软件。
如果您在尝试执行特定操作时遇到困难,请查看帮助系统!
查找软件包
一旦您安装并运行了Chocolatey客户端,现在是时候看看有哪些可用的软件包可以安装了。该客户端有三个命令,允许您执行此操作,分别为list, search
和find
。这些命令在Chocolatey存储库中搜索可用的软件包,或者列出您计算机上的软件包。
以下是帮助系统中找到的示例和示例说明。
例如,以下是在本地计算机上列举所有软件包(list
)的示例。
在下载之前检查Chocolatey软件包
在下载软件包之前,您应该始终了解该软件包的实际功能。幸运的是,您可以使用info
命令。此命令可以查找位于Chocolatey存储库上的软件包的详细信息。
通过choco info
,您可以找到软件包的属性,如软件包作者、下载计数、校验和、来源等。
请查看下面运行choco info
的选项。
例如,假设您需要安装Google Chrome,并且您已经注意到一个名为googlechrome的可用软件包。运行choco info googlechrome
,并注意您可以找到哪些信息。
安装软件包
已经获取有关软件包的信息足够了。现在是时候真正安装一些软件了!要这样做,请使用choco instal
。
choco install
命令非常强大且必不可少。如果有一个命令您应该记住并精通,那就是这个命令。
choco install
命令在您知道您需要什么后安装一个软件包或一组软件包。
运行choco install --help
以查看您的选项。
保持Chocolatey软件包更新
一旦安装了软件包,无疑您会想要保持其更新。这是 Chocolatey 的一个强大功能。
一旦您安装了一些软件包,您会很快发现 Chocolatey 并不会在后台自动更新软件包。Chocolatey 客户端不作为服务运行。
要更新已安装的 Chocolatey 软件包,您必须每次需要升级时手动调用 choco
。要执行此操作,请运行 choco upgrade
命令,以及您需要升级的软件包。
upgrade
命令会在系统上不存在软件包时安装该软件包。
以下是在帮助系统中找到的详细信息和示例。
您可以通过运行
choco upgrade all
将所有软件包升级到最新版本。
查找本地、过期的软件包
如果您想在盲目运行 choco upgrade
之前检查软件包是否有新版本,该怎么办呢?您可以使用 outdated
命令。outdated
命令会扫描您的已安装软件包,并与您指定的软件包存储库进行交叉引用,以寻找潜在的软件包更新。
请查看以下关于 choco outdated --help
的可能性。
例如,如果您想要查找所有已安装但已过期的本地软件包,您可以使用 choco outdated
。
抑制软件包更新
维护软件更新是明智的,但如果有需要明确阻止某些软件包更新呢?为什么要这样做呢?
抑制更新的一个原因是为了避免重复更新。例如,您可能只是想自动安装软件包的初始安装。您不希望维护软件包的整个生命周期。
也许在强制Chocolatey更新所有软件包时,您需要进行一些排除。在这种情况下,您可以固定软件包。
运行各种Chocolatey命令时,您将看到一个已固定的属性。例如,在运行outdated
命令时,您可以清楚地看到如下所示的属性。
下面是在帮助系统中找到的详细信息和示例
卸载Chocolatey软件包
最后,也许您已经决定不再需要安装的软件。与其手动进入控制面板,找到软件,然后以那种方式删除它,不如使用choco uninstall
命令迅速完成。
choco uninstall
命令一举删除一个或多个软件包。
请注意如何通过以下帮助内容使用choco uninstall
命令。
在进行更改之前先小心翼翼(choco whatif
)
自动化软件管理如果操作不当可能会是一个破坏性的任务。与其一次性进行大量更改,倒不如先运行一个测试,看看本应该发生什么。
WhatIf
开关
每个 choco 命令都有一个开关叫做 --whatif
,别名为 --noop
和 --what-if
。如果这些开关与 choco 命令一起使用,Chocolatey 实际上不会执行操作,而是通知您本应该发生什么。
您可以在下面看到一个示例,试图卸载本地系统上的所有软件包,但使用 whatif
开关阻止实际执行任何操作。
确认操作
当您运行 choco install
安装软件包时,通常会提示您确认是否要继续安装过程。Choco 还要求确认作为初始软件包的依赖关系调用的其他软件包。
您可以在下面看到一个示例,演示了在实际执行操作之前,Chocolatey 首先提示安装 Firefox 的过程。
确认过程是一种保险措施,但可能会减慢您的速度。如果希望进程继续不间断进行,请在命令的末尾添加 -y,--yes
或 --confirm
开关。
在运行无人值守命令(例如在计划任务中)时,使用
-y
开关效果很好。
下一步
现在你知道如何安装Chocolatey并在高层次上使用它,接下来该做什么呢?现在试着找一个通常需要反复安装和升级的常见软件。
尝试构建一个脚本来使用Chocolatey管理这个软件,让你初步了解并开始学习更多关于这个方便的Windows软件包管理器的知识!