折腾日志 | Windows 包管理器 Scoop 的安装与使用
前言 ¶
1 | sudo apt update |
在Ubuntu安装软件的时候敲入上面的命令是一件令人舒适的事情,而且也很便捷,想要在MacOS上这样操作,也可以使用homebrew等诸多的包管理工具。然而如果想在Windows安装软件,你可能需要:
- 打开百度搜索软件
- 在搜索结果中找到无毒无捆绑的版本
- 进行安装,不停点击
Next或者下一步 - 结束安装
在这个过程中,你还要担心是否会混入病毒,是否会有捆绑软件同时下载;软件还很可能会索要管理员权限,把它自己安装在 C 盘的好位置;有些开发工具还可能会搞乱你的环境变量;最最重要的是,最后你要卸载它的时候不知道有多麻烦。
所以就有天降猛男来解决这个问题,开发了Windows的包管理工具。在scoop之前,Windows上的包管理工具中比较出名的是Chocolaty。在scoop横空出世之后,由于其自定义程度高、拓展性强的特性而发展迅猛,目前社区中总计有 2000 + 的软件;另外scoop安装软件不依赖管理员权限,安装路径和环境变量管理也深得我这一类 “绿色用户” 的欢心。
安装 scoop¶
安装要求 ¶
- Windows 7 或更高版本
- PowerShell 5.0 或更高版本
- .NET Framework 4.5 或更高版本
- User Name 不含中文字符
- 确认打开了远程安装权限
1 | $PSVersionTable.PSVersion.Major # 查看Powershell版本 |
当然还有很重要的一点就是能够正常访问Github。
配置 ¶
默认情况下, scoop 以及大多数安装的软件都位于%USERPROFILE%\scoop,全局安装的程序位于C:\ProgramData\scoop,当然我们也可以自定义安装位置:
1 | $env:scoop='D:\scoop' |
安装 ¶
1 | Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh') |
卸载 ¶
以毒攻毒,以scoop卸载scoop (先卸载其他软件):
1 | scoop uninstall scoop |
基础 ¶
常用命令 ¶
scoop 的命令设计逻辑是scoop + command + [object] + [options],例如scoop install git -g,常用的基础命令有:
| 命令 | 作用 |
|---|---|
| help | 查看帮助 |
| bucket add/rm [args] | 添加、删除仓库 |
| bucket list/know | 查看已有 / 已知仓库 |
| search | 匹配查找 |
| info | 查看详情 |
| home | 查看主页 |
| install | 安装 |
| uninstall | 卸载 |
| update | 更新 |
| list | 查看已安装软件 |
| cache show/rm [app] | 查看或删除缓存 |
| cleanup | 删除旧版本 |
| checkup | 自检查 |
安装位置 ¶
在配置这一步中,我们设置了scoop的安装位置为D:\Scoop,在这个文件夹下,会有这几个子目录:
app就是软件的安装位置;buckets则是已添加的仓库(后文会提到,scoop的仓库实际上就是git的repository,所以该文件夹下其实就是一个一个git repository);cache是下载缓存;GlobalApps是自定义的全局安装位置;persist则是一些配置文件;shim会创建一些应用的软链接,让应用之间不会互相干扰。
加速 ¶
使用 aria2¶
aria2 可以利用多线程加速下载:
1 | scoop install aria2 |
设置代理 ¶
scoop 在拉取仓库更新和下载大部分软件时,都需要从国外服务器下载,速度十分感人,因此使用代理可以大大加速下载。有两种方式可以在scoop下载时使用代理:
- 在 Powershell 内设置环境变量:
$Env:http_proxy="http://127.0.0.1:1080";$Env:https_proxy="http://127.0.0.1:1080" - 更改代理设置:
scoop config proxy [username:password@]host:port,具体配置可以查看参考资料 5
Bucket 管理 ¶
介绍 ¶
Bucket 其实就是一个git repository,主要组成就是描述如何安装软件的json文件。在安装scoop时已经附带安装main bucket,然后这个仓库的收录标准十分严格:
- 主流的开发者工具
- 维护中的最新版本的软件
- 完整版本的软件
- 不可以有 GUI
- ……
这使得我们只能在main中找到部分软件,不可以有GUI这一点使得大部分日常使用软件都无法下载,所以我们需要添加其他仓库,可以使用scoop bucket know查看官方维护的仓库,还可以在这里查看较受欢迎的仓库,较完整的仓库列表可以在这里查看。
管理 ¶
官方维护的仓库可以直接添加,例如scoop bucket add extras;对于社区维护的仓库,使用scoop bucket add <name> <url>进行添加,例如scoop bucket add dorado https://github.com/chawyehsu/dorado。
每一次安装和更新软件之前,scoop首先会从github拉取已添加仓库的更新,然后再进行操作。如果碰到不同的仓库中拥有名字相同的软件,可以加上仓库名以示区分,例如scoop install main/git。
建立自己的 bucket¶
App 查询 ¶
为了在scoop的许多仓库中找到自己需要的软件,可以在这里查询安装脚本所在的 bucket。
Q&A¶
- 还有其他的包管理工具吗?
有呀,例如 winget,是由官方推出的推出命令行安装工具,全称windows package manager client
仓库 ¶
| 名称 | 简介 |
|---|---|
| dorado | Yet another bucket for scoop. |
| scoopet | A Bucket for the Best Windows Package Manager scoop : Continuously Assisting in Academic Research. |
| sushi | A tasty and inclusive scoop bucket, providing various kinds of applications. |











