Scoop--windows下的软件包管理工具

今天介绍一个非常好用的 windows平台下的软件包管理工具scoop, 简单来说, 它就是windows平台上的apt\yam, 如果日常使用Linux进行开发且熟悉Linux的命令, 那么scoop就非常适合了。完整的文档参见 https://scoop.sh/

1 安装和使用

1.1 安装

Powershell中运行下面的命令:

1
2
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

1.2 常用命令

1.2.1 安装和卸载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
> scoop search grep # 搜索软件包, 以grep为例
Results from local buckets...

Name Version Source Binaries
---- ------- ------ --------
ast-grep 0.27.3 main
busybox 5467-g9376eebd8 main egrep | fgrep | grep | pgrep
gettext 0.21-v1.16 main msggrep.exe
gow 0.8.0 main egrep.exe | fgrep.exe | grep.exe
grep 3.11 main
igrep 1.3.0 main
nim 2.2.0 main nimgrep.exe
pcre2grep 10.39 main
pcregrep 8.45 main
ripgrep 14.1.1 main
rktools2k3 1.0 main qgrep.exe
ugrep 6.5.0 main
unxutils 2007.03.01 main agrep.exe | egrep.exe | fgrep.exe | grep.exe

> scoop search gow # 安装
> scoop search gow # 卸载
> scoop list # 列出已安装的软件列表

1.2.2 更新和检查

1
2
3
4
> scoop update # 更新所有已安装的软件包
> scoop update gow # 更新具体的某个包
> scoop status # 显示状态并检查是否有新的应用程序版本
> scoop checkup # 检查潜在的问题

1.2.3 清理优化

1
2
3
> scoop cleanup cmake # 清理应用程序,移除旧版本
> scoop cache rm * # 清理所有缓存
> scoop cache rm cmake # 清理cmake的下载缓存

1.2.4 查看软件官方文档

1
> scoop home gow # 会打开gow的github主页

1.2.5 alias别名系统

1
2
3
4
5
6
7
> scoop alias add up "scoop update"
> scoop up # 等效于scoop update
Updating Scoop...
Updating Buckets...
Scoop was updated successfully!
> scoop alias del up # 删除别名
> scoop alias list # 查看别名列表

1.2.6 shim快捷方式

shim创建一个指向这些可执行文件的快捷方式,并确保这些文件能够在命令行环境中无缝使用:

1
2
3
scoop shim add search-files-app "C:\Users\toni\AppData\Local\search-files-app\search-files-app.exe"
search-files-app # 此时可以打开应用程序
scoop shim rm search-files-app # 删除这个快捷方式

可以在文档的 bucket 部分 中补充以下命令:

1.2.7 bucket 管理

bucket 是 Scoop 用来存储和管理软件包的仓库,你可以通过以下命令进行 bucket 的管理。

1
2
3
4
5
6
7
8
9
10
11
12
> scoop bucket add <bucket_name> [<repo>] # 添加 bucket(软件包仓库)
> scoop bucket add extras # 添加官方的 extras bucket

> scoop bucket list # 列出已添加的 bucket

> scoop bucket rm <bucket_name> # 移除已添加的 bucket
> scoop bucket rm extras # 移除 extras bucket

> scoop bucket known # 查看 Scoop 已知的官方 bucket 列表

> scoop bucket update <bucket_name> # 更新某个 bucket 的软件包信息
> scoop bucket update # 更新所有已添加 bucket 的信息

2 核心概念

Scoop 的核心概念主要包括 Apps(应用程序)、Buckets(桶)和 App Manifests(应用程序清单)。这些概念共同构成了 Scoop 的基础架构,使得软件包管理变得更加简单和高效。下面我们分别介绍这三个概念:

当然可以!以下是将 Scoop 的核心概念整理成表格的形式,以便更清晰地展示每个概念的关键信息:

概念 定义 用途 命令
Apps (应用程序) 指通过 Scoop 安装的各种软件包,可以是命令行工具、库或其他类型的应用程序。 - 安装、更新和卸载应用程序。
- 提供命令行工具。
- scoop install <package-name>
- scoop update <package-name>
- scoop uninstall <package-name>
Buckets (桶) Scoop 中用于存储和管理软件包的仓库,每个 bucket 是一个 GitHub 仓库,包含了多个应用程序的清单文件。 - 存储应用程序清单文件。
- 提供多种软件包来源。
- scoop bucket add <bucket-name> <bucket-url>
- scoop search <query>
- scoop bucket add extras 添加预定义的常见的桶
App Manifests (应用程序清单) 描述应用程序的 JSON 文件,包含基本信息(如名称、版本、下载链接、校验和等)。 - 描述应用程序的元数据。
- 提供安装和更新所需的详细信息。
- scoop create <package-name>
- scoop cat <package-name>

就个人使用体验而言, 官方的bucket在开个tizi的情况下速度还可以, 如果想使用国内的bucket, 请参考 https://gitee.com/RubyMetric/scoop-cn

3 常用的scoop软件包推荐

类别 软件名称 描述 力荐 && 理由
核心桶(Core Bucket) 7zip 文件压缩工具
核心桶(Core Bucket) sudo 允许使用Linuxsudo模式 √ 个人常用
核心桶(Core Bucket) cloc 代码统计工具
核心桶(Core Bucket) jq json格式化和高亮工具
核心桶(Core Bucket) gow Unix下的常见命令行工具(包含grep, xargs, which等) windows -> Unix
核心桶(Core Bucket) cmake c++构建工具 √ 随时升级cmake很方便
核心桶(Core Bucket) git √ 随时升级git很方便
核心桶(Core Bucket) cmder 终端模拟器
核心桶(Core Bucket) vscode
核心桶(Core Bucket) python
核心桶(Core Bucket) nodejs
核心桶(Core Bucket) ffmpeg 多媒体处理工具
核心桶(Core Bucket) curl 命令行工具,用于获取或发送数据
核心桶(Core Bucket) wget 从网络下载文件
核心桶(Core Bucket) vlc 媒体播放器
核心桶(Core Bucket) discord 语音和文字聊天应用
扩展桶(Extras Bucket) calibre 电子书管理工具
扩展桶(Extras Bucket) draw.io 图形绘制软件
扩展桶(Extras Bucket) filezilla FTP 客户端
扩展桶(Extras Bucket) gparted 分区编辑器
扩展桶(Extras Bucket) inkscape 向量图形编辑器
扩展桶(Extras Bucket) keepassxc 密码管理器
扩展桶(Extras Bucket) notepad++ 文本编辑器
扩展桶(Extras Bucket) virtualbox 虚拟机软件