搜索 K
主题
Scoop 是一个 Windows 命令行软件包管理器,灵感来自 Homebrew。它通过简洁的命令行界面安装和管理"便携式"应用程序,无需 UAC 弹窗提示、不污染系统 PATH、不修改 Windows 注册表。
# 1. 设置 PowerShell 执行策略(仅需执行一次)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 2. 安装 Scoop
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression# 安装到自定义目录(需在安装前设置环境变量)
$env:SCOOP = 'D:\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# 全局安装路径(需管理员权限)
$env:SCOOP_GLOBAL = 'D:\ScoopGlobal'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')Unrestricted 策略也能工作,但安全性较低。建议使用 RemoteSigned。
Scoop 默认安装在 C:\Users\<用户名>\scoop,目录布局如下:
scoop/
├── apps/ # 已安装的应用程序
│ ├── scoop/ # Scoop 自身
│ ├── git/ # 示例:Git
│ │ ├── 2.53.0/ # 特定版本目录
│ │ └── current # 指向当前版本的 junction(符号链接)
│ └── ...
├── buckets/ # Bucket 仓库(Git 克隆)
│ ├── main/ # 默认 bucket
│ ├── extras/ # extras bucket
│ └── ...
├── cache/ # 下载缓存(安装包、哈希文件)
├── persist/ # 持久化数据(配置文件、用户数据)
├── shims/ # Shim 可执行文件(统一入口)
├── modules/ # PowerShell 模块
└── workspace/ # 工作区(用于开发自定义 manifest)apps/<app>/current — 始终指向当前激活版本的 junctionpersist/<app> — 应用的持久化数据,更新时不会丢失shims/ — 所有应用的 shim 都集中在此,已自动加入 PATHBucket 是包含应用 manifest(JSON 描述文件)的 Git 仓库。Scoop 通过 bucket 查找和安装应用。
官方 bucket:
| Bucket | 说明 |
|---|---|
main | 默认 bucket,命令行工具为主 |
extras | GUI 应用和非 main 标准的工具 |
versions | 软件的历史版本或替代版本 |
nerd-fonts | Nerd Fonts 补丁字体 |
nonportable | 需要管理员权限的非便携应用 |
java | JDK/JRE 等 Java 相关工具 |
games | 开源/免费游戏和游戏工具 |
# 添加 bucket
scoop bucket add extras
scoop bucket add versions
scoop bucket add nerd-fonts
# 添加第三方 bucket(需提供 Git URL)
scoop bucket add <name> <git-url>
# 列出已添加的 bucket
scoop bucket list
# 查看已知的官方 bucket
scoop bucket known
# 移除 bucket
scoop bucket rm <name>Manifest 是描述应用安装方式的 JSON 文件,包含以下关键字段:
{
"version": "1.0.0",
"description": "应用描述",
"homepage": "https://example.com",
"license": "MIT",
"url": "https://example.com/app-1.0.0.zip",
"hash": "sha256:abc123...",
"bin": "app.exe",
"shortcuts": [["app.exe", "App Name"]],
"persist": ["config", "data"],
"env_add_path": "bin",
"env_set": { "APP_HOME": "$dir" },
"depends": ["git"],
"suggest": { "vcredist": "extras/vcredist2022" },
"pre_install": ["命令..."],
"post_install": ["命令..."],
"installer": { "script": ["..."] },
"uninstaller": { "script": ["..."] },
"architecture": {
"64bit": { "url": "...", "hash": "..." },
"32bit": { "url": "...", "hash": "..." },
"arm64": { "url": "...", "hash": "..." }
},
"autoupdate": {
"url": "https://example.com/app-$version.zip"
},
"checkver": {
"url": "https://example.com/releases",
"regex": "v([\\d.]+)"
}
}url / hash — 下载地址和校验哈希(支持 sha256/sha512/md5)bin — 需要创建 shim 的可执行文件shortcuts — 开始菜单快捷方式persist — 需要在更新时保留的文件/目录env_add_path — 添加到 PATH 的子目录env_set — 设置的环境变量($dir 代表安装目录)depends — 依赖的其他应用architecture — 按 CPU 架构区分的下载地址checkver / autoupdate — 自动检测新版本和更新 URLShim 是 Scoop 创建的小型可执行代理文件,统一放在 shims/ 目录下。
工作原理:
shims/ 目录为每个 bin 入口创建一个 shimshims/ 目录已加入用户 PATHPATHShim 的优势:
PATH(防止 PATH 膨胀).exe)和 GUI 应用(.exe 以窗口模式运行)# 列出所有 shim
scoop shim list
# 手动添加 shim
scoop shim add <name> <command_path>
# 移除 shim
scoop shim rm <name>
# 修改 shim 指向
scoop shim alter <name>persist/ 目录用于存储应用的持久化数据(配置文件、数据库、用户数据等),确保应用更新或重装时数据不丢失。
工作原理:
persist 指定的文件/目录移动到 persist/<app>/persist/<app>/ 中的对应位置# 安装应用
scoop install <app> # 从已添加的 bucket 安装
scoop install extras/<app> # 指定 bucket 安装
scoop install https://example.com/app.json # 从 URL 安装
scoop install .\app.json # 从本地 manifest 安装
# 全局安装(需管理员权限,所有用户可用)
sudo scoop install <app> --global # 或 -g
# 安装特定架构
scoop install <app> --arch 64bit # 或 32bit、arm64
# 卸载应用
scoop uninstall <app>
scoop uninstall <app> --global # 卸载全局安装的应用
scoop uninstall <app> --purge # 同时删除持久化数据# 更新 Scoop 自身
scoop update
# 更新指定应用
scoop update <app>
# 更新所有已安装应用
scoop update *
# 锁定应用版本(禁止更新)
scoop hold <app>
# 解锁应用版本(允许更新)
scoop unhold <app>
# 切换/重置应用版本
scoop reset <app> # 重置 shim 和环境变量
scoop reset python27 python # 在多版本间切换# 搜索应用
scoop search <query>
# 查看应用详细信息
scoop info <app>
# 查看已安装应用列表
scoop list
# 查看应用状态(可用更新等)
scoop status
# 查看应用清单(manifest 原始 JSON)
scoop cat <app>
# 打开应用主页
scoop home <app>
# 查看应用依赖
scoop depends <app>
# 定位可执行文件路径
scoop which <command>
# 获取应用安装目录前缀
scoop prefix <app># 清理旧版本(释放磁盘空间)
scoop cleanup <app>
scoop cleanup * # 清理所有应用的旧版本
# 清理下载缓存
scoop cache rm <app>
scoop cache rm * # 清空所有缓存
# 查看缓存内容
scoop cache show
# 系统健康检查
scoop checkup# 导出已安装应用、bucket 和配置到 JSON(Scoopfile)
scoop export > scoopfile.json
# 导出时包含配置信息
scoop export --config > scoopfile.json
# 从 Scoopfile 导入
scoop import scoopfile.json{
"buckets": [
{ "Name": "main", "Source": "https://github.com/ScoopInstaller/Main" },
{ "Name": "extras", "Source": "https://github.com/ScoopInstaller/Extras" }
],
"apps": [
{ "Name": "git", "Source": "main", "Updated": "2026-01-15" },
{ "Name": "vscode", "Source": "extras", "Updated": "2026-01-20" }
]
}# 在 VirusTotal 上查询应用哈希
scoop virustotal <app>
# 查询所有已安装应用
scoop virustotal *# 添加自定义别名
scoop alias add <name> <command> <description>
# 示例:创建 "upgrade" 别名
scoop alias add upgrade "scoop update *" "更新所有应用"
# 列出已有别名
scoop alias list
# 移除别名
scoop alias rm <name># 仅下载应用到缓存并验证哈希
scoop download <app>Scoop 配置文件位于 ~/.config/scoop/config.json,可通过 scoop config 命令管理。
# 查看所有配置
scoop config
# 读取单个配置项
scoop config <key>
# 设置配置项
scoop config <key> <value>
# 移除配置项
scoop config rm <key>| 配置项 | 默认值 | 说明 |
|---|---|---|
proxy | (空) | 代理地址,格式 [user:pass@]host:port |
default_architecture | 64bit | 默认安装架构(64bit/32bit/arm64) |
use_external_7zip | false | 使用外部 7zip 解压 |
use_sqlite_cache | false | 启用 SQLite 缓存加速搜索 |
no_junction | false | 禁用 current 版本 junction |
scoop_repo | (默认) | 自定义 Scoop 源码 Git 仓库地址 |
scoop_branch | master | 自定义 Scoop 源码分支 |
use_isolated_path | false | 隔离应用 PATH 到独立环境变量 SCOOP_PATH |
aria2-enabled | true | 启用 aria2 多线程下载 |
aria2-warning-enabled | true | 显示 aria2 警告信息 |
aria2-retry-wait | 2 | aria2 重试等待时间(秒) |
aria2-split | 5 | aria2 下载分片数 |
aria2-max-connection-per-server | 5 | aria2 单服务器最大连接数 |
aria2-min-split-size | 5M | aria2 最小分片大小 |
aria2-options | (空) | aria2 额外参数 |
show_update_log | true | 更新后显示变更日志 |
last_update | (自动) | 上次更新时间戳 |
安装 aria2 后,Scoop 会自动使用多线程下载以提升速度。
# 安装 aria2
scoop install aria2
# 配置多线程参数(按需调整)
scoop config aria2-split 16
scoop config aria2-max-connection-per-server 16
scoop config aria2-min-split-size 1M
# 如果遇到下载问题,可临时禁用 aria2
scoop config aria2-enabled false
# 关闭 aria2 运行警告
scoop config aria2-warning-enabled false对于国内网络环境,建议将 aria2-split 和 aria2-max-connection-per-server 设为 16,aria2-min-split-size 设为 1M,以获得更好的下载速度。
# 设置 HTTP 代理
scoop config proxy 127.0.0.1:7890
# 设置带认证的代理
scoop config proxy user:password@127.0.0.1:7890
# 使用系统代理
scoop config proxy currentuser@default
# 移除代理配置
scoop config rm proxyScoop 支持同时安装同一软件的多个版本,并通过 reset 命令切换。
# 安装多个 Python 版本
scoop install python
scoop install versions/python312
# 切换到 Python 3.12
scoop reset python312
# 切换回最新版
scoop reset python
# 查看当前激活的版本
python --versionscoop reset 会重新创建 shim 和更新环境变量,使指定版本成为当前活跃版本。两个版本的文件仍然同时存在于 apps/ 目录中。
当需要安装 Scoop 仓库中没有的软件时,可以创建自定义 manifest。
{
"version": "1.0.0",
"description": "我的自定义工具",
"homepage": "https://example.com",
"license": "MIT",
"url": "https://example.com/tool-1.0.0.zip",
"hash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"bin": "tool.exe"
}# 直接安装本地 JSON 文件
scoop install .\my-app.json# 1. 创建 Git 仓库
git init my-bucket
cd my-bucket
mkdir bucket
# 2. 将 manifest JSON 文件放入 bucket/ 目录
# 3. 推送到远程仓库后添加
scoop bucket add my-bucket https://github.com/user/my-bucket# 使用 PowerShell 计算 SHA256
(Get-FileHash .\file.zip -Algorithm SHA256).Hash.ToLower()
# 或使用 certutil
certutil -hashfile .\file.zip SHA256# 安装搜索加速工具
scoop install scoop-search # Go 编写的快速搜索替代
scoop install sfsu # Rust 编写的 Scoop 命令加速器
# 启用 SQLite 缓存(内置加速方式)
scoop config use_sqlite_cache true# 方式一:单行安装多个应用
scoop install git nodejs-lts python vscode
# 方式二:使用 Scoopfile 导入
scoop export > scoopfile.json # 在源机器上导出
scoop import scoopfile.json # 在目标机器上导入
# 方式三:Shell 脚本
@('git', 'nodejs-lts', 'python', 'vscode') | ForEach-Object {
scoop install $_
}# 安装 gsudo(Windows 版 sudo)
scoop install gsudo
# 全局安装(所有用户可用)
sudo scoop install git --global
# 全局安装的应用位于 $env:SCOOP_GLOBAL(默认 C:\ProgramData\scoop)# 运行健康检查
scoop checkup
# 重置损坏的应用(修复 shim 和 junction)
scoop reset <app>
# 强制更新 Scoop
scoop update --force
# 重新注册所有 shim
scoop reset *| 特性 | Scoop | Chocolatey | winget |
|---|---|---|---|
| 安装方式 | 解压便携应用 | 运行安装脚本 | 调用系统安装器 |
| 需要管理员 | 通常不需要 | 通常需要 | 部分需要 |
| 注册表修改 | 不修改 | 可能修改 | 可能修改 |
| 应用类型 | 命令行/便携优先 | 全类型 | 全类型 |
| PATH 管理 | Shim 机制 | 直接添加 PATH | 系统安装器决定 |
| 更新管理 | scoop update | choco upgrade | winget upgrade |
| 卸载干净度 | 极高(删目录即可) | 依赖卸载脚本 | 依赖系统卸载 |
| 离线支持 | 可缓存安装包 | 支持 | 有限 |
| 自定义仓库 | 容易(Git 仓库) | 较复杂 | 较复杂 |
scoop/ 目录,不污染系统export / import 实现环境一键复制Scoop 的安装流程(install_app())按以下顺序执行:
Get-Manifest 获取并解析 JSON 清单Invoke-ScoopDownload(支持 aria2 加速)Invoke-Extraction 解压到 apps/<app>/<version>/installer,执行安装命令bin 中指定的可执行文件创建 shimshortcuts 定义的快捷方式persist 指定的文件/目录移至 persist/<app>/ 并创建 junctionenv_add_path 和 env_setapps/<app>/current 指向当前版本目录# 检查 PowerShell 版本
$PSVersionTable.PSVersion
# 确保执行策略正确
Get-ExecutionPolicy -List
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser# 配置代理
scoop config proxy 127.0.0.1:7890
# 启用 aria2 多线程
scoop install aria2
scoop config aria2-split 16
scoop config aria2-max-connection-per-server 16# 重置 shim
scoop reset <app>
# 检查依赖(如 VC++ 运行时)
scoop checkup
# 安装常见运行时
scoop install vcredist2022# 跳过哈希校验安装(不推荐)
scoop install <app> --skip
# 清除缓存后重试
scoop cache rm <app>
scoop install <app># 强制重置 Scoop 仓库
cd $env:SCOOP\apps\scoop\current
git fetch --all
git reset --hard origin/master最简洁的迁移方式,适用于跨机器复制开发环境。
# === 源机器 ===
# 导出全部已安装应用和 bucket 信息
scoop export > scoopfile.json
# === 目标机器 ===
# 1. 安装 Scoop
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
# 2. 安装 Git(Scoop 的 bucket 管理依赖 Git)
scoop install git
# 3. 导入 Scoopfile
scoop import scoopfile.json适用于需要保留持久化数据和缓存的场景。
# 1. 复制整个 scoop 目录到目标机器
robocopy C:\Users\<用户名>\scoop D:\backup\scoop /MIR
# 2. 在目标机器上设置环境变量
$env:SCOOP = 'C:\Users\<用户名>\scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# 3. 确保 shims 目录在 PATH 中
$shimPath = "$env:SCOOP\shims"
$oldPath = [Environment]::GetEnvironmentVariable("Path", "User")
if ($oldPath -notlike "*$shimPath*") {
[Environment]::SetEnvironmentVariable("Path", "$oldPath;$shimPath", "User")
}
# 4. 重置所有 shim(修复路径引用)
scoop reset *scoop export > scoopfile.json 并纳入版本控制persist/ 目录包含重要配置,建议单独备份cache/ 目录可不备份(重新下载即可)除官方 bucket 外,社区维护了大量第三方 bucket:
| Bucket | 安装命令 | 说明 |
|---|---|---|
dorado | scoop bucket add dorado https://github.com/chawyehsu/dorado | 国人维护,大量中文软件 |
scoop-cn | scoop bucket add scoop-cn https://github.com/duzyn/scoop-cn | 国内软件集合 |
nerd-fonts | scoop bucket add nerd-fonts | Nerd Fonts 补丁字体(官方) |
nonportable | scoop bucket add nonportable | 需要管理员权限的应用(官方) |
sysinternals | scoop bucket add sysinternals https://github.com/niheaven/scoop-sysinternals | 微软 Sysinternals 工具集 |
scoop search <app> 会同时搜索所有已添加的 bucketautoupdate 定义了 manifest 在检测到新版本后如何自动更新下载 URL 和哈希值。
{
"autoupdate": {
"architecture": {
"64bit": {
"url": "https://example.com/app-$version-x64.zip"
},
"32bit": {
"url": "https://example.com/app-$version-x86.zip"
}
},
"hash": {
"url": "$url.sha256"
}
}
}可用变量:
$version — 完整版本号(如 1.2.3)$url — 解析后的下载地址$baseurl — URL 去掉文件名的部分$matches[n] — checkver 正则的捕获组checkver 告诉 Scoop 如何从网页上检测应用的最新版本。
{
"checkver": {
"url": "https://api.github.com/repos/user/repo/releases/latest",
"jsonpath": "$.tag_name",
"regex": "v([\\d.]+)"
}
}支持的匹配方式:
regex — 正则表达式匹配jsonpath — JSON 路径查询(适用于 API 返回 JSON 的场景)xpath — XPath 查询(适用于 HTML/XML)github — GitHub Release 的快捷方式,等价于 "checkver": "github"replace — 对匹配结果进行替换转换# 手动运行版本检测(bucket 维护者常用)
cd $env:SCOOP\buckets\main
.\bin\checkver.ps1 <app>
# 检测并自动更新 manifest
.\bin\checkver.ps1 <app> -umanifest 支持在安装前后执行自定义 PowerShell 脚本:
{
"pre_install": ["if (!(Test-Path \"$persist_dir\\config\")) { New-Item -Type Directory \"$persist_dir\\config\" }"],
"post_install": ["Write-Host '安装完成!请重启终端。' -ForegroundColor Green"]
}钩子中可用的变量:
$dir — 应用安装目录$persist_dir — 应用持久化目录$version — 安装的版本号$architecture — 安装架构$cfg — Scoop 配置对象由于 bucket 是 Git 仓库,国内用户克隆/更新时可能较慢。
# 方式一:配置代理
scoop config proxy 127.0.0.1:7890
# 方式二:使用 GitHub 镜像(部分镜像可能不稳定)
# 替换 bucket 的远程仓库地址
git -C "$env:SCOOP\buckets\main" remote set-url origin https://mirror.ghproxy.com/https://github.com/ScoopInstaller/Main
git -C "$env:SCOOP\buckets\extras" remote set-url origin https://mirror.ghproxy.com/https://github.com/ScoopInstaller/Extras
# 方式三:使用 Gitee 上的 Scoop 镜像(社区维护)
scoop config scoop_repo https://gitee.com/scoop-installer/scoop# 1. 启用 aria2 多线程下载
scoop install aria2
scoop config aria2-split 16
scoop config aria2-max-connection-per-server 16
scoop config aria2-min-split-size 1M
# 2. 配合代理使用
scoop config proxy 127.0.0.1:7890使用镜像时注意安全风险,尽量使用 Scoop 的哈希校验功能确保下载文件完整性。官方源 + 代理是最可靠的方案。
一台全新 Windows 机器从零搭建开发环境的完整流程:
# === 第一步:安装 Scoop ===
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
# === 第二步:安装基础工具 ===
scoop install git # Git 是 bucket 管理的前置依赖
scoop install aria2 # 多线程下载加速
scoop config aria2-split 16
scoop config aria2-max-connection-per-server 16
# === 第三步:添加常用 bucket ===
scoop bucket add extras
scoop bucket add versions
scoop bucket add nerd-fonts
# === 第四步:安装开发工具 ===
scoop install vscode nodejs-lts python pnpm uv
scoop install bat eza fd fzf ripgrep zoxide
scoop install starship alacritty
# === 第五步:安装字体 ===
scoop install JetBrainsMono-NF-Mono CascadiaCode-NF-Mono
# === 或者:直接从已有的 Scoopfile 导入 ===
scoop import scoopfile.json# 每周执行一次的维护命令
scoop update # 更新 Scoop 自身和 bucket 索引
scoop status # 查看哪些应用有新版本
scoop update * # 更新所有应用
scoop cleanup * # 清理旧版本释放空间
scoop cache rm * # 清理下载缓存# 1. 确认应用信息
scoop info <app> # 查看版本、来源、依赖
scoop prefix <app> # 获取安装目录
scoop which <command> # 确认 shim 指向的实际路径
# 2. 检查 Scoop 健康状态
scoop checkup # 系统级健康检查
# 3. 尝试修复
scoop reset <app> # 重建 shim 和 junction
scoop uninstall <app> # 卸载
scoop install <app> # 重新安装
# 4. 查看 manifest 原始内容(排查安装行为)
scoop cat <app>在团队协作中,某些工具需要固定版本以保持一致性:
# 锁定 Node.js 版本,防止自动更新
scoop hold nodejs-lts
# 查看所有被锁定的应用
scoop list | Select-String "Held"
# 解锁(允许再次更新)
scoop unhold nodejs-lts# 方式一:使用 versions bucket 中的历史版本包
scoop install versions/python312
# 方式二:从 Git 历史中安装指定版本的 manifest
# 1. 进入 bucket 目录
cd $env:SCOOP\buckets\main
# 2. 查找历史 manifest
git log --oneline -- bucket/<app>.json
# 3. 使用指定 commit 的 manifest
git show <commit>:bucket/<app>.json > $env:TEMP\<app>.json
scoop install $env:TEMP\<app>.jsonScoop 支持 PowerShell Tab 补全,在 $PROFILE 中添加:
# 添加 Scoop Tab 补全(将以下内容加入 $PROFILE)
Import-Module "$($(Get-Item $(Get-Command scoop.ps1).Path).Directory.Parent.FullName)\modules\scoop-completion" -ErrorAction SilentlyContinue效果:输入 scoop in 后按 Tab 自动补全为 scoop install,输入 scoop install py 后按 Tab 列出匹配的应用名。
sfsu 是 Rust 编写的 Scoop 命令加速替代,可大幅提升 search、list 等命令速度。
# 安装 sfsu
scoop install sfsu
# 在 $PROFILE 中用 sfsu 替代部分 scoop 命令
Invoke-Expression (&sfsu hook)scoop search → 从数秒缩短到毫秒级scoop list → 显著加速可以将以下函数加入 $PROFILE,简化日常操作:
# 快速更新所有应用并清理
function Update-Scoop {
scoop update
scoop update *
scoop cleanup *
scoop cache rm *
Write-Host "✔ Scoop 更新完成" -ForegroundColor Green
}
# 查看应用安装目录并用资源管理器打开
function Open-ScoopApp {
param([string]$App)
$path = scoop prefix $App
if ($path) { explorer $path }
}
# 列出所有可更新的应用
function Get-ScoopUpdates {
scoop update *> $null
scoop status
}安装与卸载:
| 命令 | 说明 |
|---|---|
scoop install <app> | 安装应用 |
scoop install -g <app> | 全局安装 |
scoop uninstall <app> | 卸载应用 |
scoop uninstall -p <app> | 卸载并清除持久化数据 |
更新与版本:
| 命令 | 说明 |
|---|---|
scoop update | 更新 Scoop 和 bucket |
scoop update <app> | 更新指定应用 |
scoop update * | 更新所有应用 |
scoop hold <app> | 锁定版本 |
scoop unhold <app> | 解锁版本 |
scoop reset <app> | 重置/切换版本 |
查询与信息:
| 命令 | 说明 |
|---|---|
scoop search <query> | 搜索应用 |
scoop info <app> | 查看详细信息 |
scoop list | 列出已安装应用 |
scoop status | 查看可用更新 |
scoop cat <app> | 查看 manifest JSON |
scoop home <app> | 打开应用主页 |
scoop which <cmd> | 定位命令路径 |
scoop prefix <app> | 获取安装目录 |
scoop depends <app> | 查看依赖 |
Bucket 管理:
| 命令 | 说明 |
|---|---|
scoop bucket add <name> | 添加官方 bucket |
scoop bucket add <name> <url> | 添加第三方 bucket |
scoop bucket list | 列出已添加 bucket |
scoop bucket known | 查看官方 bucket |
scoop bucket rm <name> | 移除 bucket |
维护与清理:
| 命令 | 说明 |
|---|---|
scoop cleanup * | 清理所有旧版本 |
scoop cache rm * | 清空下载缓存 |
scoop cache show | 查看缓存内容 |
scoop checkup | 系统健康检查 |
scoop export | 导出安装清单 |
scoop import <file> | 导入安装清单 |
scoop virustotal * | VirusTotal 安全扫描 |
配置:
| 命令 | 说明 |
|---|---|
scoop config | 查看所有配置 |
scoop config <key> <value> | 设置配置项 |
scoop config rm <key> | 移除配置项 |
scoop config proxy <addr> | 设置代理 |
# 卸载所有已安装的应用
scoop list | ForEach-Object { scoop uninstall $_.Name }
# 卸载 Scoop 自身
scoop uninstall scoop# 1. 删除 Scoop 目录
Remove-Item -Recurse -Force $env:SCOOP
# 2. 删除全局安装目录(如果使用过)
Remove-Item -Recurse -Force $env:SCOOP_GLOBAL -ErrorAction SilentlyContinue
# 3. 清除环境变量
[Environment]::SetEnvironmentVariable('SCOOP', $null, 'User')
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $null, 'Machine')
# 4. 从 PATH 中移除 shims 路径
$userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
$cleanPath = ($userPath -split ';' | Where-Object { $_ -notlike '*scoop*' }) -join ';'
[Environment]::SetEnvironmentVariable('Path', $cleanPath, 'User')
# 5. 删除配置文件
Remove-Item -Recurse -Force "$env:USERPROFILE\.config\scoop" -ErrorAction SilentlyContinue完全清除会删除 persist/ 目录中的所有持久化数据(配置文件、数据库等),操作前请确认已备份重要数据。
Scoop 虽然优秀,但并非万能。了解其局限性有助于选择合适的工具。
winget 或 chocolateywinget# 以管理员身份运行
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1