高度灵活可定制「包管理器」:Scoop
❝文章首发于我的少数派栏目,原标题为Windows 系统缺失的包管理器:Chocolatey、WinGet 和 Scoop - 少数派[1],并截取了原文的第三部分作为本文的推送内容(稍有修改)。
❞
写在前面
如果你也身处 Windows 系统的生态环境之中,或许你身边也有小伙伴正在遭受这样的烦恼:他们永远搞不懂自己辛辛苦苦在搜索引擎找到并下载安装的软件到底在哪里?他们也不清楚为什么电脑中总会出现形形色色、不明不白的垃圾软件和弹窗?即便电脑已经越来越臃肿,他们也不敢碰除个人文件外的任何东西,生怕系统崩坏、数据丢失;他们没有文件管理习惯,快捷方式是他们认为软件是否安装的唯一标志,甚至认为删除即卸载;他们深知自己电脑的内部文件体系已是一团乱糟糟,所以桌面总是满满当当、密不透风。
搜索、下载、安装,这是几乎任何一个软件在「食用」之前要做的准备工作。每一步都有坑:百度搜索里的「海底捞」,点击下载那一刻的战战兢兢,等待安装时的擦亮双眼、诚惶诚恐。如果算上在使用过程中的升级和使用完之后的卸载,那麻烦就更多了。
上述或许并不夸张,正是你我之前曾经有过或正在经历的困惑。
如果这样,那么本文正是为你量身打造、包管理器也非你莫属。
「包管理器」一行命令,帮你打通软件从搜索、下载、安装到配置、升级、卸载的全流程。
什么是包管理器
❝包管理器又称「软件包管理系统」,它是在电脑中「自动安装、配置、卸载和升级」软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。——引自百度百科[2]
❞
如果你用过Python[3] ,那么对 pip 一定不陌生,Python 对所有第三方库的查找、下载、安装、卸载等都可以通过 pip 来完成的。需要哪个库,pip install
帮你安装;不需要了,pip uninstall
一键就能卸载。简单省事、方便快捷。不少编程语言均有各自对应的包管理器,比如 Nodejs 的 npm 等。
其实在操作系统上,包管理器应用就更广泛了,尤其是 Linux 系统和 macOS 系统已经相当成熟了。比如 Ubuntu 的 apt、CentOS 的 yum、 macOS 系统下的 Homebrew 等。Windows 平台的包管理器虽然仍受诟病,但目前来看已经能够完成绝大多数的工作了。
Windows 系统上常见的包管理器主要有 「Chocolatey」、「winget」 和 「Scoop」。
为什么要用包管理器
降低安装维护软件的成本
避免安装大量软件造成的路径污染
不必查找和安装软件的其他依赖项
避免捆绑和垃圾软件
彻底地卸载
❝Scoop[4]功能更全面、可配置性更高,但由于国内环境下载速度极慢,所以放在了最后介绍。
❞
关于其他「包管理器」—— Chocolatey 和 WinGet,参考我的前两期推文
❝关联阅读:
❞
下载安装
前提
Windows 7 SP1+ / Windows Server 2008
PowerShell 5+(include PowerShell Core[5] and .NET Framework 4.5[6])
安装
管理员身份运行PowerShell
,输入以下两条命令:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex
之后输入scoop
显示帮助文档即说明安装成功。
注:Scoop 支持利用aria2
进行多线程下载。所以可先scoop install aria2
下载 aria2,之后所有的下载任务就均可以调用 aria2 多线程下载来提高速度了。
更换下载位置
Scoop 默认安装位置C:\User\Your Username\scoop
,如果想要更改安装位置,比如D:\Scoop
,可以在安装之前,先运行:
$env:SCOOP='D:\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
Scoop 会自动将.\Scoop\shims
文件添加到系统环境变量,免去 Windows 用户自行添加的麻烦;同时在.\Scoop\apps
存放所有已安装的软件,便于统一管理。
基本使用
刚认识 Scoop 就能看出,Scoop 支持的命令更多、可玩性更强~~
除此之外,scoop export > scoop.txt
也可导出软件列表(与 Chocolatey 和 winget 类似)。
添加其他 bucket 软件库
❝语法:
❞scoop bucket add [软件源名字] [源地址]
bucket 指的是软件仓库,也是 Scoop 的「内核」了。未进行配置的 Scoop 默认只会安装main
一个 bucket,由于官方的严格限制,main
里的软件列表不足以涵盖了用户对大多数软件的需求,所以搜索失败会时常发生,因此自行安装其他 bucket 就成了使用 Scoop 的必备。
bucket 分为官方维护和社区维护两种。
官方 bucket 软件仓库主要有以下几个(可通过scoop bucket known
查看):
其中最重要、也最推荐的 bucket 是extras
(包含了大量的 GUI 程序)。配合main
可满足多数的下载需求了。
# 官方提供
scoop bucket add extras
scoop bucket add java
除了官方 bucket 之外,GitHub 上有众多网友维护的社区 bucket[7]
# 社区提供
scoop bucket add echo https://github.com/echoiron/echo-scoop
scoop bucket add dorado https://github.com/chawyehsu/dorado
scoop bucket add dodorz https://github.com/dodorz/scoop
一般来说,可谷歌搜索「软件名+Scoop」就可以找到我们想要安装的软件有没有被 某个 bucket 软件仓库收录。添加上面推荐的三个社区 bucket,配合官方的 main 和 extras,应付日常使用已经可以游刃有余了。
换源:提高下载速度
要改善 Scoop 的下载速度,详细可以参照Scoop | Gitee 版[8]的说明更换下载源
更换 Scoop 源
scoop config SCOOP_REPO https://gitee.com/squallliu/scoop
scoop update
更换 bucket 源
scoop install git
# 注意:引号里面换成自己的路径,如果是默认路径则为 ${Env:USERPROFILE}\scoop\buckets\<bucket_name>
git -C "D:\Scoop\buckets\main" remote set-url origin https://hub.fastgit.org/ScoopInstaller/Main.git
git -C "D:\Scoop\buckets\extras" remote set-url origin https://hub.fastgit.org/lukesampson/scoop-extras.git
换源之后的 Scoop,速度提升不是一星半点儿 🚀🚀~~
结语
无需访问搜索引擎苦苦寻觅,无需点击图形界面、一不小心安装个「全家桶」,一行命令、几个单词,就能满足大多数人对日常软件的所有需求。
那到底哪个包管理器更好呢?
软件源丰富、又能做到配置简单的 Chocolatey,支持安装 MSStore 程序、而又拥有强大卸载功能的 winget,用户自定义配置选项灵活多样的 Scoop,只能说各有各的优点,配合使用或许效果最佳。
关联阅读
软件包管理工具选 Scoop 还是 Chocolatey?看完这篇就知道了[9]
全平台的备份指南,让你从此重装不再难[10]
在 Windows 10 上安装软件,你现在可以用微软的包管理工具了:WinGet[11]
给 Scoop 加上这些软件仓库,让它变成强大的 Windows 软件管理器[12]
「一行代码」搞定软件安装卸载,用 Scoop 管理你的 Windows 软件[13]
Reference
Windows 系统缺失的包管理器:Chocolatey、WinGet 和 Scoop - 少数派: https://sspai.com/post/65933
[2]百度百科: https://baike.baidu.com/item/包管理器/22785432?fr=aladdin
[3]Python: https://baike.baidu.com/item/Python
[4]Scoop: https://scoop.sh/
[5]PowerShell Core: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-windows?view=powershell-6
[6].NET Framework 4.5: https://www.microsoft.com/net/download
[7]社区 bucket: https://github.com/rasa/scoop-directory
[8]Scoop | Gitee 版: https://gitee.com/squallliu/scoop#install-scoop-to-a-custom-directory-by-changing-scoop
[9]软件包管理工具选Scoop还是Chocolatey?看完这篇就知道了: https://www.cnbeta.com/articles/tech/874537.htm
[10]全平台的备份指南,让你从此重装不再难: https://sspai.com/post/56272
[11]在 Windows 10 上安装软件,你现在可以用微软的包管理工具了:WinGet: https://sspai.com/post/60592
[12]给 Scoop 加上这些软件仓库,让它变成强大的 Windows 软件管理器: https://sspai.com/post/52710
[13]「一行代码」搞定软件安装卸载,用 Scoop 管理你的 Windows 软件: https://sspai.com/post/52496