Appearance
2026-08-31 · 学习笔记 01
Scoop 安装与代理配置
1. Scoop 是什么
Windows 命令行包管理器,一条命令安装/更新/卸载软件,装到用户目录,不需要管理员权限。
特点:
- 软件装在自己的目录
scoop\apps\<软件>\,清理时整个目录删掉,没有注册表残留 - 每个软件配一个 shim(快捷命令),自动加入 PATH
- 更新软件 = 装新版 + 切链接,旧版本目录保留可以回退
2. 安装
先决条件:Windows 10/11,PowerShell 5.1+。打开 PowerShell(非管理员即可):
powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex安装脚本要访问 GitHub,如果系统代理还没开,给安装脚本显式指定代理(-Proxy 参数写法见第 4 节)。
装完自动装好 git(scoop 的仓库更新依赖它)。
3. 验证
新开一个终端:
bash
scoop --version
# 输出类似:Current Scoop version: ... 0.5.34. 大陆用户:代理零配置
scoop 的源和下载都在 GitHub,需要代理。但不需要给 scoop 和 git 逐个配代理——只要代理客户端开了「系统代理」开关(v2RayN:菜单里勾选「系统代理」),Windows 系统代理生效,curl / git / scoop 下载安装包、拉取 bucket 仓库全部自动走代理;国内站点由客户端的分流规则(geosite:cn)自动直连。
验证方式:系统代理开着时直接跑 scoop status,输出 Everything is ok! 即通。
唯一需要显式指定代理的场景是装 scoop 本体时系统代理还没开(安装脚本要下载 GitHub 上的文件),此时用官方脚本自带的 -Proxy 参数(前一个管下载安装脚本,后一个管脚本内部下载,端口换成你的代理 HTTP 端口,v2RayN 默认 10808):
powershell
irm get.scoop.sh -Proxy 'http://127.0.0.1:10808' | iex -Proxy 'http://127.0.0.1:10808'不要配
scoop config proxy和git config --global http.proxy这类显式代理:一旦代理客户端换端口或换软件,写死的配置会让 scoop/git 一起失效,还要逐个排查清除。系统代理是唯一控制点,换客户端零改动。
5. 代理假死:一类连带故障的根源
代理"假死"(进程和端口还在,但节点不通或转发挂死)时,所有经它转发的操作会一起卡住超时,表现为一连串莫名其妙的报错:scoop status 拉取失败、git 克隆/推送 timeout、schannel: failed to receive handshake。排查时先确认代理真的活着,再看软件本身:
bash
curl -o /dev/null -w "%{http_code} %{time_total}s\n" https://github.com几秒内返回 200/304 说明代理链路正常;卡住不返回就是代理问题,重启代理客户端或换节点即可,不用折腾 scoop/git。
6. 目录结构
装完在用户目录下生成 scoop\:
| 目录 | 作用 |
|---|---|
apps\<软件>\ | 软件本体,每个版本一个目录,current 是指向当前版本的链接 |
persist\<软件>\ | 持久化数据(配置、数据库等)。更新/重装不丢,删软件也保留,确定不要再手动删 |
buckets\ | 软件仓库(manifest 源),每个 bucket 一个 git 仓库 |
shims\ | 全局命令入口,已自动加入 PATH |
cache\ | 下载缓存 |
7. 配置速记
| 项目 | 值 |
|---|---|
| 主仓库 | ScoopInstaller/Scoop 官方源 |
| 默认 bucket | main(基础软件) |
| 代理 | 零配置:客户端「系统代理」开关开着即通(见第 4 节) |
| 卸载检查 | scoop uninstall <软件> |
scoop 本体更新用
scoop update。