← [ BACK_TO_NOTES ]

Scoop

Windows Scoop 的安装、应用与 bucket 管理、已保留版本切换,以及 JSON 清单备份恢复。

#windows #howto #growing #ops #cli

Scoop

Scoop 是 Windows 命令行应用安装器。本篇负责安装、更新、切换已保留版本与恢复应用清单;安装路径迁移单独见 更改 Scoop 默认安装位置。

[!info] related notes

基本模型

  • Bucket:保存应用 JSON manifest 的仓库。
  • Manifest:定义下载来源、哈希、安装步骤、依赖与持久化目录。
  • Shim:在 PATH 中提供命令入口,指向实际程序。
  • Persist:应用更新或普通卸载时保留的数据;并不涵盖程序在其他位置写入的所有配置。

默认安装到用户目录,一般不需要管理员权限;全局安装或个别安装器可能需要。Scoop 能处理便携软件,也支持部分传统安装器,不能把所有应用都当作完全免安装的软件。

安装

使用普通 Windows PowerShell 终端,按官方安装入口执行:

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

默认根目录为 C:\Users\user\scoop。自定义安装应在安装前配置,具体参数见 ScoopInstaller/Install;不要把克隆 Scoop 主仓库后执行不存在的根目录 install.ps1 当成安装方法。

常用操作

scoop search git
scoop info git
scoop bucket add extras
scoop install git 7zip
scoop install extras/vscode
scoop list
scoop prefix 7zip
scoop update          # 更新 Scoop 与 bucket
scoop status          # 查看可更新应用
scoop update git
scoop update *        # 更新全部应用
scoop uninstall git  # 普通卸载

卸载选项 -p/--purge 会移除持久化数据;-g/--global 表示全局安装,不是“所有版本”。scoop uninstall -a 不是卸载所有应用的命令。

Bucket

scoop bucket list           # 已添加的 bucket
scoop bucket known          # 已知 bucket 名称与来源
scoop bucket add versions
scoop bucket add java
scoop bucket add nerd-fonts
scoop bucket rm extras

包名与 bucket 会调整,应先 scoop search 再安装。旧文中的固定字体包名、镜像地址与应用数量不作为当前目录的保证。

版本与命令冲突

scoop list 显示已安装应用及当前版本,不是远端所有可用版本列表。scoop reset app 重建当前版本链接和命令入口,用于解决冲突;它不会等同于清空应用配置。

scoop reset git
# 仅当该版本已经安装且尚未被 cleanup 删除时才可切换:
scoop reset git@2.40.0

安装旧版本取决于可用 manifest、下载地址和兼容性,不能用重复 scoop install app@版本 保证任意版本同时可用。频繁切换 Node.js 版本时,可评估 Node 安装笔记中的版本管理方案。

缓存与旧版本

scoop cache show
scoop cache rm git   # 删除 git 下载缓存
scoop cache rm *     # 删除全部下载缓存
scoop cleanup git   # 删除 git 的旧安装版本
scoop cleanup *     # 清理全部应用的旧安装版本
scoop checkup

cleanup 清的是旧安装版本,不只是已卸载应用;清理后不能再直接 reset 到那些版本。cleanup -g 针对全局安装,不是预览或只读模式。

配置与下载

当前默认配置文件为 ~\.config\scoop\config.json;优先使用 scoop config 查询和修改,而不是复制旧笔记中的整份示例配置。

scoop config
scoop config proxy 127.0.x.x:1080  # 示例地址,按实际代理配置
scoop config rm proxy
scoop config cache_path D:\scoop-cache
scoop install aria2
scoop config aria2-enabled true

aria2 可用于多连接下载,效果取决于下载源与网络。配置键是 cache_path,删除配置使用 scoop config rm <name>。

备份与恢复

scoop export > scoopfile.json
# 可选:一并导出 Scoop 配置
scoop export --config > scoopfile-with-config.json

# 在已安装 Scoop 的目标机器恢复
scoop import scoopfile.json

导出的是包含应用、bucket 及可选配置的 JSON 清单,不是安装文件、依赖二进制或完整用户数据备份。导入通常仍需下载,不能据此承诺离线恢复;应用数据与其他位置的配置应另行备份。导出配置前检查是否包含不应共享的代理等信息。

排障与快捷函数

找不到 scoop 时先检查实际安装根目录、shims 的 PATH 和当前终端会话。找不到应用命令时用 scoop list、scoop prefix app、scoop checkup 定位,再按需 scoop reset app。旧文的 scoop diagnose 不属于这里核对过的命令集。

PowerShell 的 Set-Alias 不能把 scoop install 这样的“命令加参数”整体变成别名;需要转发参数的快捷入口应写成函数:

# 放入 $PROFILE
function ss { scoop search @args }
function si { scoop install @args }
function sl { scoop list @args }
function sup { scoop update @args }

自定义 shim 的语法是 scoop shim add <名称> <程序路径>,它不是桌面快捷方式命令。多数应用的 shim 由 manifest 安装过程管理。

核对依据

2026-10-06 对照了 官方 README 与 libexec 命令源码中的 uninstall、list、reset、config、cache、cleanup、export、import、bucket、shim、checkup、prefix。当前执行环境是 Linux,未实际运行 Windows 安装、卸载或注册表操作。

学习检查:

  • export/import 恢复的是哪些内容,哪些内容不在清单中?
  • reset、cleanup、uninstall --purge 对版本与数据的影响分别是什么?
  • 为什么给带参数的 Scoop 命令建立快捷入口时需要 PowerShell 函数?
创建于 2025/1/1 更新于 2026/10/6
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本