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
|