前言
我们都知道 Linux 有包管理的概念,即:可以在命令行下通过一系列的指令来统一管理程序,常见的使用情景包括: 搜索、安装、更新、卸载等。
macOS 也有类似的包管理器,如 brew
,homebrew
等
借助包管理器,我们可以达到统一管理常用软件的目的。
Windows 平台弊端
Windows 目前的软件生态想必大家都很清楚,各种常用软件,比如:Git
, Chrome
, VS code
, 7zip
, 网易云音乐
等,安装方式比较多,位置杂乱,安装更新卸载流程繁琐耗时且效率低下,安装路径各异污染目录,且得不到统一的管理。
他来了 – Scoop
Scoop 的出现,就是为了来解决上述问题的,简单地说,他将各种软件安装目录有序的堆放在一起,用户数据以及配置文件单独存放,更新时仅仅更新程序本身,极大的提高 Windows 平台上管理软件的效率。
如何安装 Scoop
请确保已经安装了:
- ①
PowerShell 5
(或更高版本,包括PowerShell Core
) - ②
.net Framework 4.5
(或更高版本)。
现在大部分机子都上了 win10,系统大都符合要求,可以直接进行下面的操作
在终端运行下列命令(建议在当前用户根目录(C:\Users\your_username)下)
1 | # 运行这条命令 |
然后你就可以在终端中输入 Scoop
命令来查看是否安装完成
如果你遇到错误,你可能需要改变执行策略,运行下列命令来启用 PowerShell
1 | Set-ExecutionPolicy RemoteSigned -scope CurrentUser |
Scoop 使用
添加 bucket
bucket
可以简单理解为软件清单
只有当前添加的 bucket
里有的软件才可以下载
通过下面的命令添加常用的 bucket
来扩大你可以安装的软件类别和数目
1 | # 最常用的bucket |
搜索软件
这条命令会在已经加入的 bucket
里搜寻合适的软件并打印出来
1 | scoop search neteasemusic # 搜索网易云音乐 |
安装软件
1 | scoop install <name> |
以下列出了常用的程序的安装命令
必须先装
7zip
,安装包的解压依靠它
1 | # 推荐安装的常用程序(须先加 extras 的 bucket) |
卸载软件
1 | scoop uninstall <name> |
更新软件
1 | scoop update <name> |
清理缓存(下载的安装包等)
1 | scoop cache rm * |
清理已安装软件残留的旧版本
更新程序后,旧版本的程序默认是保留的,可以手动清理
1 | scoop cleanup * |
切换版本
当安装的软件有多个版本,且都需要同时使用时,可以参考下面设置两个 nodejs 版本共存与切换类似的方法
- 先安装所需的版本
1 | scoop install nodejs12 |
此时默认的 node -v
输出的是最新版本
- 设置需要的版本 / 版本切换
因为 node12
和最新版共用 node
这个命令,只需要执行 reset
加对应的版本就能够将该命令设置为指定版本
切换为 node12
版本
1 | scoop reset nodejs12 |
切换为 node
最新版本
1 | scoop reset nodejs |
忽略更新
通常我们会使用下面的命令来更新所有通过 Scoop 下载的软件
1 | scoop update * |
但是有时候我们不想让其中某个软件更新,这个时候就需要用到 hold/unhold
命令
1 | # 更新软件时限制 Postman 更新 |