Scoop

Scoop。indows 下的命令行软件管理工具 ~~~sehll

indows 下的命令行软件管理工具

安装Scoop

1
2
3
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time

irm get.scoop.sh | iex

配置远程仓库

1
2
3
4
$ scoop install git # 先安装 Git, 这是添加 Bucket 的前置
$ scoop bucket add java
$ scoop bucket add extras
$ scoop bucket add dorado https://github.com/chawyehsu/dorado

常用命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 更新 git
scoop update git

# 更新所有
scoop update *

# 钉住版本,让 scoop update * 不能更新它
scoop hold git

# 查看状态
scoop status

# 列出所有安装的软件
scoop list

# 通常会重新设置该软件的环境变量和一些其他设置,使其指向你通过 Scoop 安装的那个软件
# 可以重置到对应版本的app,用于切换版本
scoop reset <app_name>

scoop install openjdk11 # 安装 Java 11
scoop install openjdk17 # 安装 Java 17
scoop install openjdk	# 安装当前最新的 Java,截至本文撰写时是 Java 21
scoop reset openjdk11	# 切换到jdk11
scoop reset openjdk17	# 切换到jdk17


# 清理安装包(Scoop 并不会在安装软件后自动删除安装包)
scoop cache rm *

# 导出安装的软件
scoop export > <output_pathname>

根据导出的json文件,使用powershell安装所有软件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
$SCOOP_DIR = 'C:\Scoop'
$OUTPUT_SCRIPT_PATHNAME = 'install-scoop-apps.ps1'
$buckets = (scoop bucket list)
$knownBuckets = (scoop bucket known)
Push-Location
$output = $buckets | ForEach-Object {
 $outputBucket = $_.Name
 if ($_.Name -notin $knownBuckets) {
     Set-Location
     $outputBucket += ' ' + ($_.Source)
 }
 $outputBucket = 'scoop bucket add ' + $outputBucket
 $outputBucket
}
Pop-Location
$apps = (scoop list)
$output += 'scoop install ' + ($apps | ForEach-Object { $_.Name })
$output | Out-File -FilePath $OUTPUT_SCRIPT_PATHNAME -Encoding utf8
Write-Output $output

配置Aria2

1
2
3
4
5
# 安装 aria2 后,scoop 的所有下载将会自动使用 aria2 多线程下载
scoop install aria2

# 去除 aria2 导致的警告提示
scoop config aria2-warning-enabled false
Licensed under CC BY-NC-SA 4.0
Gear(夕照)的博客。记录开发、生活,以及一些不足为道的思考……