Scoop是一个 Windows 包管理工具,类似于 Debian 的 apt、macOS 的 homebrew。它由开源社区驱动,体验可能是是目前所有 Windows 包管理工具中最好的。对开发者来说,包管理器能非常方便的部署开发环境,比如 Python 、Node.js 。而对于像博主这样的普通的计算机使用者来说,可以方便的安装一些常用软件,尤其是开源软件,免去了手动去官网下载的繁琐步骤,而且后续对软件进行升级只需要输入一行命令,非常便捷。
环境要求
- Windows 7 SP1 + / Windows Server 2008+
- PowerShell 5(或更高版本,包括 PowerShell Core)和 .NET Framework 4.5(或更高版本)
- Windows 用户名为英文(Windows 用户环境变量中路径值不支持中文字符)
- 正常、快速地访问 GitHub 并下载资源
安装 Scoop
- 右键开始菜单按钮,在右键菜单中打开 PowerShell
- 在 PowerShell 中输入下面内容,保证允许本地脚本的执行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- 然后执行下面的命令安装 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 管理、安装、更新软件。
- 添加 extras buket 支援更多第三方软件
scoop bucket add extras
国内用户专享
如果你访问Github有问题,或下载其中的资源有问题,可尝试以下方法:
- 设置Scoop代理。在命令行中输入(PowerShell或者CMD中都行)
scoop config proxy 127.0.0.1:7890
(一看就是clash用户)让scoop网络连接走代理,后面的ip地址和端口根据自己的代理设置。 - 使用Gitee镜像源。可能备份更新得不是那么勤快,以及实际下载软件包同样会有网络问题,所以不推荐。在命令行中输入
scoop config SCOOP_REPO https://gitee.com/squallliu/scoop
修改仓库源的地址。 找到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
+ 动作 + 对象」的语法。其中「对象」是可省略的。
最常用的几个基础动作有这些:
命令 | 动作 |
---|---|
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),从而保证环境的统一和路径不被污染
可以看到,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 用户不远了。