如何安装并使用Scoop Windows包管理器

喜欢在Linux中使用命令行,但不得不切换到Windows?放松一下,你有Scoop Windows作为你的软件包管理器。Scoop是Windows的命令行安装程序,可以让你快速安装和更新软件包,而不会破坏任何东西。

在本教程中,你将学习如何安装和使用Scoop来管理Windows机器上的软件包。

继续阅读,再也不需要多次点击安装程序了!

先决条件

本教程将进行实际演示。如果你想跟着做,请确保你有一台具有管理员权限的Windows 10机器。本教程使用的是Windows 10 21H2版本。

安装Scoop Windows软件包管理器

当你厌倦了使用常规软件包管理器安装或管理软件时,Scoop可以救你于水火。但是,尽管Scoop听起来很不可思议,但它并不是默认安装在你的系统上的。

在使用Scoop之前,你需要在Windows机器上安装它:

1. 以管理员身份打开 PowerShell,并运行以下 Set-ExecutionPolicy 命令将执行策略设置为 RemoteSigned。这样做可以确保您可以运行自己编写或从互联网下载的 PowerShell 脚本。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

在提示时输入 Y 并按 Enter 键确认执行策略更改,如下所示。

Setting execution policy to RemoteSigned

2. 接下来,运行以下命令下载 Scoop 的安装脚本(get.scoop.sh),并使用提升的权限(-RunAsAdmin)运行该脚本在系统上安装 Scoop。

Invoke-Expression "& {$(Invoke-RestMethod get.scoop.sh)} -RunAsAdmin"
Installing Scoop on Windows

现在,运行下面的 scoop 命令来显示 Scoop 的可用命令列表。

scoop -h

下面的输出确认您已成功在系统上安装了 Scoop。

Confirming Scoop is installed and working correctly

使用 Scoop 查找和安装软件包

现在您已经有了一个软件包管理器,您可能想知道通过Scoop安装什么。幸运的是,Scoop可以使用bucket命令来搜索可安装的软件包。

bucket命令列出了包含Scoop软件包的所有存储库(或bucket)。这些bucket类似于Linux中使用的软件包存储库,其中包含可用软件包及其依赖项的列表。

要使用Scoop搜索和安装软件包:

1. 运行以下Scoop命令以列出本地可用的bucket。

scoop bucket list

下面的输出表明主要bucket包含1083个可安装的软件包。

每个Scoop bucket都有清单文件,这些文件定期更新以添加新的软件包和删除旧的软件包。这些文件描述了如何安装软件包及其依赖项。

Listing available buckets

2. 现在,运行以下命令在所有可用的bucket中搜索特定软件包,比如7zip。

scoop search 7zip

下面的输出显示了两个与搜索词7zip(7zip和7zip19.00-helper)匹配的软件包,它们来自主要bucket。您还可以看到每个软件包的版本号。

Finding the 7zip package

3. 找到软件包后,运行以下命令来安装7zip软件包。

scoop install 7zip

此时,7zip应该已经安装并准备好使用了!您是否注意到安装程序无需点击多个按钮?安装程序还消除了权限弹窗。

使用 Scoop,只需一个一行命令就足够安装,只要你知道包的名称。

Installing the 7zitp package

4. 现在,运行下面的 7z 命令来验证你的 7zip 安装,它应该显示 7z 命令的可用选项列表。

7z

下面的输出确认了 7z 已成功安装。但也许你计划一次安装多个包。如果是这样,让 Scoop 在下一步为你完成这项工作。

Verifying that 7zip is installed

5. 最后,运行以下命令来安装 7zip 和 nodejs 包。

为什么一个一个地安装,当你可以一次安装所有包呢?Scoop 允许你安装多个指定并用空格分隔的包。当你已经有一个要安装的包列表时,这个功能非常有用。

scoop install 7zip nodejs
Installing multiple packages with Scoop

使用 Scoop 更新包

保持包更新是保持系统健康的一种方式。一旦安装了包,Scoop 将帮助你获取最新的功能或错误修复。

不用担心,使用 Scoop 更新包就像安装它们一样。

1. 运行 scoop update 命令将 Scoop 本身更新到最新版本并更新应用程序清单。

scoop update 
Updating packages with Scoop

2. 接下来,运行以下命令检查 Scoop 的其他包的状态是否过时。

scoop status

下面的输出显示 Scoop 已是最新版本。

Checking for outdated packages

3. 现在,运行以下命令来更新你心目中的特定包,这里是 7zip 包。

有选择地更新包可以消除出错的风险,特别是当你正在进行项目工作时。

scoop update 7zip 
Updating a specific package

也许你想要疯狂地更新所有的软件包。如果是这样,请运行相同的 scoop update 命令,并在末尾加上 * 字符,以同时更新所有软件包,如下所示。

Updating all packages

添加额外的存储库/版本并安装多个版本的软件包

正如你所见,Scoop 从存储库中安装软件包。默认情况下,Scoop 自带一些有用的存储库,如 main、versions 和 extras。

如果你希望从主存储库以外的其他存储库安装软件包,你必须配置 Scoop 以使其了解该存储库。

1. 运行以下 Scoop 命令以列出社区已知的可用存储库。

scoop bucket known
Listing all available known buckets by the community

2. 接下来,运行以下命令以添加 java 存储库。

scoop bucket add java

添加新的存储库后,你现在可以使用 Scoop 从该存储库安装软件包了。

Adding the java bucket

3. 现在,运行以下命令以从 java 存储库安装 openjdk 软件包。

该命令将安装 openjdk 的最新版本(在撰写本文时为 v18)。这个软件包是 Java 平台标准版的开源实现。许多程序需要 Java 来运行,因此安装它是一个好主意。

scoop install openjdk
Installing the openjdk package

请注意,你还可以通过指定软件包的版本来安装不同版本的 Java,如下所示。这个命令允许在你的系统上安装多个版本的 Java。

scoop install openjdk12

Installing a different version of openjdk

切换软件包版本

也许您已经安装了不同版本的Java,正如之前演示的那样。但是假设您有一个需要Java 18的程序,另一个需要Java 12,您该如何在这些版本之间切换?

不用担心!Scoop支持使用reset命令切换同一软件包的不同版本。

1. 运行下面的reset命令切换到Java 12(openjdk12)。

scoop reset openjdk12
Switching to Java 12

2. 接下来,运行以下java命令检查当前活动的Java版本。

java --version

下面可以看到当前激活的是Java 12。

Confirming current active Java version

3. 现在,运行以下命令切换回最新的软件包版本(openjdk)。

scoop reset openjdk
Switching back to the latest version of Java

4. 最后,重新运行下面的java命令检查当前活动的Java版本。

java --version

下面的输出确认您已切换回Java 18。

Checking Java’s current active version

结论

安装和管理软件包不必是复杂的任务。幸运的是,您已经学会了如何在Windows上使用Scoop进行更便捷的软件包管理。您已经意识到使用Scoop安装和保留同一软件包的不同版本是可能的。

现在,您应该对在系统中安装和更新软件包更有信心了。那么,为什么不创建一个自定义应用程序清单并与Scoop社区分享呢?

Source:
https://adamtheautomator.com/scoop-windows/