如果您在管理和维护环境中的软件方面遇到困难,那么您就要获得一份礼物了。在本文中,您将学习如何安装 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 install
。
choco install
命令非常強大且必不可少。如果有一個命令您應該記住並熟悉,那就是這個命令。
choco install
命令在您確定需要什麼之後,安裝一個軟件包或一個軟件包列表。
運行choco install --help
以查看您的選項。
保持Chocolatey軟件包的更新
一旦安裝了一個套件,您無疑會希望保持其最新狀態。這是 Chocolatey 的一個強大功能。
一旦安裝了一些套件,您很快會發現 Chocolatey 不會自動在後台保持套件的最新狀態。Chocolatey 客戶端不運行為服務。
要更新已安裝的 Chocolatey 套件,您必須每次需要升級時手動調用 choco
。為此,運行 choco upgrade
命令以及您需要升級的套件。
如果系統上不存在該套件,upgrade
命令將安裝該套件。
下面是在幫助系統中找到的詳細信息和示例。
您可以運行
choco upgrade all
將所有套件升級到最新版本。
查找本地的過時套件
如果您在盲目運行 choco upgrade
前想檢查套件是否有新版本,可以使用 outdated
命令。該命令會掃描已安裝的套件,並與指定的套件庫進行交叉參考,以尋找可能的套件更新。
請參閱下面的 choco outdated --help
以了解可能的操作。
例如,如果您想找到所有本地安裝的過時套件,可以使用 choco outdated
。
禁止套件升級
保持軟體更新是絕對建議的,但如果您有需要明確禁止更新的套件呢?為什麼您會這麼做呢?
抑制更新的原因之一是避免更新冗余。例如,您可能只是想自動化套件的初始安裝,而不想維護整個軟體生命週期。
也許在強制更新所有套件時,您需要進行一些排除。在這種情況下,您可以固定套件。
當您運行各種 Chocolatey 命令時,您會看到一個固定屬性。例如,在運行outdated
命令時,您可以清楚地看到該屬性,如下所示。
下面是在說明系統中找到的詳細信息和示例
卸載 Chocolatey 套件
最後,也許您已經決定不再需要安裝的軟體。與其手動進入控制面板,找到軟體,然後這樣刪除,不如使用choco uninstall
命令快速完成。
choco uninstall
命令一次性刪除一個或多個軟體套件。
請注意如何使用choco uninstall
命令,請參閱下面的幫助內容。
在進行更改之前安全起見(choco whatif
)
如果未正确执行,自动化软件管理可能会带来破坏性的任务。与其一次性进行很多更改,更明智的做法是先运行一个测试以查看将会发生什么。幸运的是,Chocolatey客户端有一些参数可以做到这一点。
WhatIf
开关
每个choco命令都有一个称为--whatif
的开关,别名为--noop
和--what-if
。如果将这些开关与choco命令一起使用,Chocolatey实际上不会执行操作,而是告知您将会发生什么。
下面是一个示例,尝试卸载本地系统上的所有软件包,但使用whatif
开关来防止实际执行任何操作。
确认操作
当您运行choco install
来安装一个软件包时,通常会提示您确认是否要继续安装过程。Choco还需要确认对于作为初始软件包的依赖项调用的其他软件包。
下面是一个示例,展示了在实际执行操作之前,Chocolatey首先询问是否要安装Firefox。
确认过程是一种安全措施,但可能会减慢您的速度。如果您希望进程继续不受干扰,可以在命令的末尾添加-y, --yes
或--confirm
开关。
在运行无人参与的命令(如计划任务)时,使用
-y
开关效果很好。
下一步
既然您已經知道如何安裝和使用Chocolatey,那麼接下來該從哪裡開始呢?現在試著找到一個通常需要一遍又一遍安裝和升級的常見軟體。
嘗試使用Chocolatey建立一個腳本來管理該軟體,讓您開始學習更多關於這個方便的Windows套件管理工具吧!