Scoop 包管理工具使用指南

教程·资源 · 2022-07-18

Scoop是一个 Win­dows 包管理工具,类似于 De­bian 的 apt、ma­cOS 的 homebrew。它由开源社区驱动,体验可能是是目前所有 Win­dows 包管理工具中最好的。对开发者来说,包管理器能非常方便的部署开发环境,比如 Python 、Node.js 。而对于像博主这样的普通的计算机使用者来说,可以方便的安装一些常用软件,尤其是开源软件,免去了手动去官网下载的繁琐步骤,而且后续对软件进行升级只需要输入一行命令,非常便捷。

环境要求

  • Windows 7 SP1 + / Windows Server 2008+
  • PowerShell 5(或更高版本,包括 PowerShell Core)和 .NET Framework 4.5(或更高版本)
  • Windows 用户名为英文(Windows 用户环境变量中路径值不支持中文字符)
  • 正常、快速地访问 GitHub 并下载资源

安装 Scoop

  1. 右键开始菜单按钮,在右键菜单中打开 PowerShell
  2. 在 PowerShell 中输入下面内容,保证允许本地脚本的执行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. 然后执行下面的命令安装 Scoop 静待脚本执行完成就可以了
iwr -useb get.scoop.sh | iex

显示Scoop was installed successfully!这样就表明我们 Scoop 已经成功安装了。scoop help 这个命令就是 Scoop 的使用说明书,如果我们记不住某个命令怎么执行,也可以通过 scoop help 来唤起这个命令参考说明。

Initializing...
Downloading...
Extracting...
Creating shim...
Adding ~\scoop\shims to your path.
Scoop was installed successfully!
Type 'scoop help' for instructions.

下面我们继续介绍具体应该如何高效的使用 Scoop 管理、安装、更新软件。

  1. 添加 extras buket 支援更多第三方软件
scoop bucket add extras

国内用户专享

如果你访问Github有问题,或下载其中的资源有问题,可尝试以下方法:

  1. 设置Scoop代理。在命令行中输入(PowerShell或者CMD中都行)scoop config proxy 127.0.0.1:7890(一看就是clash用户)让scoop网络连接走代理,后面的ip地址和端口根据自己的代理设置。
  2. 使用Gitee镜像源。可能备份更新得不是那么勤快,以及实际下载软件包同样会有网络问题,所以不推荐。在命令行中输入scoop config SCOOP_REPO https://gitee.com/squallliu/scoop修改仓库源的地址。
  3. 找到Scoop配置文件,路径C:\Users\username\.config\scoop\config.json,然后直接修改里面的配置,如下:

    {
      "lastupdate": "2022-06-13T14:54:33.0948309+08:00",
      "SCOOP_REPO": "https://github.com/lukesampson/scoop",
      "SCOOP_BRANCH": "master",
      "proxy": "127.0.0.1:7890",
    }

Scoop 基础用法

从上面的命令中,我们可以发现 Scoop 命令的设计很简单(和 Homebrew 等 Unix-style 的工具一样),是「scoop + 动作 + 对象」的语法。其中「对象」是可省略的。

img

最常用的几个基础动作有这些:

命令动作
search搜索软件名
install安装软件
update更新软件
status查看软件状态
uninstall卸载软件
info查看软件详情
home打开软件主页

举几个栗子:

  • 我们想要搜索一下有没有 Firefox 浏览器:scoop search firefox

    PS C:\Users\Administrator> scoop search firefox
    Results from local buckets...
    
    Name             Version Source Binaries
    ----             ------- ------ --------
    firefox-eme-free 99.0    extras
    firefox-esr      91.11.0 extras
    firefox          102.0.1 extras
    tor-browser      11.5    extras firefox.exe
  • 我们想要安装 aria2 下载器(我下载过 aria2,所以截图和你的显示可能不太一样):scoop install aria2

    PS C:\Users\Administrator> scoop install aria2
    Installing 'aria2' (1.36.0-1) [64bit]
    aria2-1.36.0-win-64bit-build1.zip (2.3 MB) [==================================================================] 100%
    Checking hash of aria2-1.36.0-win-64bit-build1.zip ... ok.
    Extracting aria2-1.36.0-win-64bit-build1.zip ... done.
    Linking D:\Scoop\apps\aria2\current => D:\Scoop\apps\aria2\1.36.0-1
    Creating shim for 'aria2c'.
    'aria2' (1.36.0-1) was installed successfully!
  • 我们想要看看 Typora 的主页:scoop home typora 直接会打开软件的主页;

就这样,十分简单!

那么现在安装软件的流程就变成了:scoop search 软件名 - scoop install 搜索结果中符合条件的那个,结束。方便简洁!当然 Scoop 肯定不止这些命令可以折腾,更多的进阶命令和使用方法可以参考 Scoop Wiki,如果有机会我也会更新更多的 Scoop 使用技巧。

Scoop 把软件安装在哪儿?

这就是 Scoop 设计最为精致的地方所在了,也是我推荐 Scoop 超过 Chocolatey 等更知名的 Windows 软件包管理器的原因。

Scoop 和 Homebrew 对软件包安装位置有着相同的处理哲学:「下载、安装在用户文件夹下」。具体来讲:

  • Scoop 在你的用户根目录(一般是 C:\Users\用户名)下创建了一个名为 scoop 的文件夹,并默认将软件下载安装到这个文件夹下
  • 全局安装的程序(–global)位于C:\ProgramData\scoop
  • Scoop 将软件安装到一个相对隔离的环境下(Each program you install is isolated and independent),从而保证环境的统一和路径不被污染

img

可以看到,scoop 文件夹下的 apps 存放有安装的所有应用。值得一提的是:scoop 是通过 shim 来软链接一些应用,这样的设计让应用之间不会互相干扰,十分方便。

Scoop安装到自定义目录

将Scoop安装到自定义目录

$env:SCOOP='D:\Applications\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')

将Scoop配置为将全局程序安装到自定义目录 SCOOP_GLOBAL

$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')

软件包管理哲学

最后我还是想说一说:为什么我们推荐使用「包管理」?

在写这篇文章之前我也看了我派上面对包管理工具介绍的文章,我觉得这些文章其实都没太讲清为什么我们需要用「包管理」这个看上去复杂难用的命令行工具去下载、管理我们的软件。毕竟现在的软件管理哲学是「我去 App Store 下一个不就行了嘛?」

需要明确的是:包管理的设计初衷是为了方便开发者管理和搭建开发环境。用包管理工具能够快速的安装开发工具、开发依赖,从而免去复杂的路径、环境变量等信息的配置。而我们作为普通用户,实际上用「包管理」工具的过程,就是在借鉴这种「软件管理哲学」。

但更重要的,也是更对我们用户安装基本软件的过程来说的,是我前文提到的:

  • 一行代码省去了搜索、筛选、下载等繁琐步骤
  • 安装方便、更新方便、卸载也方便
  • 同时也最大程度杜绝了流氓捆绑软件的安装(因为 Scoop 本身和 Scoop 安装过程参考的配置文件都是开源的,要安装什么一目了然)

这些都是传统的「搜索 - 筛选 - 下载」的软件管理过程带来的复杂过程和安全隐患的极佳解决方法。

尝试一下 Scoop 吧!如果你对这个简洁、克制却依旧强大的工具产生兴趣,你一定离高阶 Windows 用户不远了。

包管理 Scoop Windows PowerShell
Theme Jasmine by Kent Liao