Skip to content

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.3

4. 大陆用户:代理零配置

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 proxygit 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 官方源
默认 bucketmain(基础软件)
代理零配置:客户端「系统代理」开关开着即通(见第 4 节)
卸载检查scoop uninstall <软件>

scoop 本体更新用 scoop update