软件包管理系统(包管理器,Package Manager)是在电脑中自动安装、配置、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。

Chocolatey

操作系统和编程语言多有对应的软件包管理系统,比如 Ubuntu 的 apt、CentOS 的 yum、 macOS 的 Homebrew 等,以及 Nodejs 的 npm,Python 的 pip;在配置 Visual Studio Code 以在 Windows 上使用 mingw-w64 中的 GCC C++ 编译器 (g++) 和 GDB 调试器来创建在 Windows 上运行的程序时,软件包管理系统 Pacman 作为基础系统的一部分随 MSYS2 分发。

Windows 系统上常见的软件包管理系统主要有 Chocolatey、WinGet和 Scoop,相关介绍请参阅这篇文章

  • Chocolatey:软件源丰富、配置简单;
  • WinGet:微软官方工具,支持安装MS Store程序、拥有强大卸载功能;
  • Scoop:高度灵活可定制。

Chocolatey 是 Windows 软件包管理系统的王牌劲旅。


系统要求


在安装 Chocolatey 之前,必须要保证自己电脑满足以下标准:

  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+
  • .NET Framework 4+

PowerShell 是一个跨平台任务自动化解决方案,由命令行 shell、脚本语言和配置管理框架组成。PowerShell 在 Windows、Linux 和 macOS 上运行。

通过以下方法查看 PowerShell 的版本号:

  • 在 PowerShell 里运行 $PSVersionTable.PSVersion,Major 就是版本号。
  • 在 PowerShell 里运行 host,Version 显示的就是详细的版本号信息。

以及,如何判断安装的.NET Framework 版本


安装 Chocolatey


使用 PowerShell 安装 Chocolatey,您必须确保 Get-ExecutionPolicy 不受限制。我们建议绕过 Bypass 该策略来安装东西或 AllSigned 获得更高的安全性。

则运行Get-ExecutionPolicy,如果返回Restricted,则运行

Set-ExecutionPolicy AllSigned

以使Get-ExecutionPolicy返回AllSigned,或者运行

Set-ExecutionPolicy Bypass -Scope Process

现在运行以下命令安装 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

Chocolatey v2.2.0
Please run 'choco -?' or 'choco <command> -?' for help menu.

安装成功。


Chocolatey 的基本使用


Chocolatey 默认安装在 C:\ProgramData\chocolatey(或者通过在 PowerShell 来输入:$env:ChocolateyInstall 查看)。

choco Commands(通过运行 choco -? 查看安装路径)

 * apikey - retrieves, saves or deletes an API key for a particular source
 * cache - Manage the local HTTP caches used to store queries (v2.1.0+)
 * config - Retrieve and configure config file settings
 * export - exports list of currently installed packages
 * feature - view and configure choco features
 * features - view and configure choco features (alias for feature)
 * find - searches remote packages (alias for search)
 * help - displays top level help information for choco
 * info - retrieves package information. Shorthand for choco search pkgname --exact --verbose
 * install - installs packages using configured sources
 * list - lists local packages
 * new - creates template files for creating a new Chocolatey package
 * outdated - retrieves information about packages that are outdated. Similar to upgrade all --noop
 * pack - packages nuspec, scripts, and other Chocolatey package resources into a nupkg file
 * pin - suppress upgrades for a package
 * push - pushes a compiled nupkg to a source
 * search - searches remote packages
 * setapikey - retrieves, saves or deletes an API key for a particular source (alias for apikey)
 * source - view and configure default sources
 * sources - view and configure default sources (alias for source)
 * template - get information about installed templates
 * templates - get information about installed templates (alias for template)
 * uninstall - uninstalls a package
 * unpackself - re-installs Chocolatey base files
 * upgrade - upgrades packages from various sources

让我们安装 Notepad++ 测试一下。

  • 以管理员身份打开命令行。
  • 键入 choco install notepadplusplus 并按 Enter 键。
  • 就是这样。

默认情况下,它从 community.chocolatey.org 安装软件包,并安装到 ChocolateyInstall\lib。其他软件包——特别是基于 Windows 安装程序(.msi 文件)的软件包——安装到原始安装程序的默认路径(最有可能位于 Program Files 内)。可能会转到不同位置,具体取决于软件包维护者创建软件包的方式。您还可以为某些软件包设置自定义安装路径。

Chocolatey 的更多使用方法,请参阅官方 Getting Started


Chocolatey GUI


并非所有用户都适合命令行界面(CLI:Command-Line Interface),Chocolatey 还提供了图形界面(GUI:Graphical User Interface)版本,Chocolatey GUI 是一个基于 Chocolatey 命令行工具的 GUI。

要安装 Chocolatey GUI,请从命令行或 PowerShell 运行以下命令:

choco install chocolateygui

启动 Chocolatey GUI:

001.jpg

This PC 页面显示了本机使用 Chocolatey 安装的软件列表。

002.jpg

chocolatey 页面显示了整个 Chocolatey 拥有的软件合集。截止2023年7月,Chocolatey 拥有的软件合集提供近10000个软件包。

👍

本文由 CulmartPlay 整理发布,参考 CC-BY-SA 3.0 协议共享,欢迎转载、引用或改编。
感谢您的支持,以共同推动STEM公益教育!

楼主残忍的关闭了评论