Windows 包管理神器 Scoop:从入门到自定义安装配置
如果你习惯了 Linux 下 apt、pacman 或 macOS 下 brew 的爽快体验,那么回到 Windows 面对满屏的安装包和 “下一步” 肯定会感到繁琐。
Scoop 是 Windows 下的一款轻量级包管理工具。与 Chocolatey 或 Winget 不同,Scoop 的设计哲学是 “非侵入式”:
- 权限洁癖:默认安装在用户目录,无需 UAC 提权(除非安装全局软件)。
- 绿色环保:自动处理环境变量(Shim 机制),卸载时瞬间清除,不残留注册表垃圾。
- 版本控制:利用 Git 管理软件仓库(Bucket),方便版本回退。
本文将带你从零开始配置一个完美的 Scoop 环境。
1. 调整 Scoop 安装位置
Scoop 默认将软件安装在 C 盘。作为开发者,我们通常希望将工具链与系统盘分离。在运行安装脚本前,我们需要先设置环境变量。
还没有安装 Scoop(推荐)
打开 PowerShell(无需管理员权限),依次执行以下命令。假设我们要安装到 D:\Users\abc\scoop(请根据你的实际情况修改路径)。
第一步:设置用户安装目录
这是普通软件(Chrome, VSCode 等)的安装位置。
$env:SCOOP = 'D:\Users\abc\scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env::SCOOP, 'User')
第二步:设置全局安装目录(可选)
这是需要管理员权限(如驱动、系统级工具)的软件安装位置。
$env:SCOOP_GLOBAL = 'D:\ProgramData\scoop'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env::SCOOP_GLOBAL, 'Machine')
注意:修改
Machine级别的变量通常需要管理员权限的 PowerShell。
警告:路径规范 Scoop 的安装路径中严禁包含空格和中文字符!
- ❌ 错误示例:
D:\Program Files\Scoop或D:\我的软件\Scoop- ✅ 正确示例:
D:\Users\abc\scoop或D:\Scoop
备选方案:通过图形界面设置
如果你不习惯命令行,也可以通过 Windows 设置:
- 搜索 “编辑系统环境变量”。
- 点击 “环境变量(N)…”。
- 在 “用户变量” 中新建
SCOOP,值为你的自定义路径。 - 在 “系统变量” 中新建
SCOOP_GLOBAL,值为你的全局路径。
已经安装了 Scoop(迁移)
如果你已经安装了 Scoop 但想迁移目录,操作稍微繁琐一些,因为 Scoop 不写注册表,它是“绿色”的。
- 将原目录(默认
C:\Users\<user_name>\scoop)剪切并粘贴到新目录(例如D:\Scoop)。 - 修改系统环境变量
Path:- 删除指向旧目录的条目(如
C:\Users\...\scoop\shims)。 - 添加新目录的 shim 路径(如
D:\Scoop\shims)。
- 删除指向旧目录的条目(如
-
关键步骤:打开新的 PowerShell 终端,执行以下命令重置所有软件的链接:
scoop reset *
2. 安装 Scoop
环境变量配置完成后,在 PowerShell 中执行以下命令进行安装:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri [https://get.scoop.sh](https://get.scoop.sh) | Invoke-Expression
- 第一行:允许当前用户运行本地脚本。
- 第二行:下载并执行 Scoop 官方安装脚本。
安装完成后,输入 scoop help,如果有输出,说明安装成功。
如果在新开启一个终端后执行 scoop 报错,则需要配置系统 PATH 变量,添加例如:D:\Users\abc\scoop\shims。
3. 初始化配置
安装必备组件
Scoop 依赖 Git 来管理仓库,同时强烈建议安装 Aria2 来进行多线程下载加速。
scoop install git aria2
安装完成后,建议对 Aria2 进行调优,关闭警告并开启多线程:
scoop config aria2-warning-enabled false
scoop config aria2-retry-wait 4
scoop config aria2-max-connection-per-server 16
scoop config aria2-split 16
scoop config aria2-min-split-size 1M
添加常用软件仓库 (Buckets)
Scoop 默认的 main 仓库软件较少且由于标准严格,通常只包含 CLI 工具。我们需要添加社区仓库来扩展生态。
scoop bucket add extras # 包含大量 GUI 软件 (Chrome, VSCode 等)
scoop bucket add versions # 包含旧版本软件
scoop bucket add java # Java 开发相关
scoop bucket add nerd-fonts # 编程字体 (FiraCode NF, JetBrainsMono NF)
4. 装机必备软件清单
这里列出了一份高频使用的软件清单,涵盖了开发、系统增强和效率工具。
你可以一次性复制执行:
# 系统工具与命令行增强
scoop install gsudo everything scoop-search starship fzf ripgrep bat powertoys everything-powertoys
# 开发工具
scoop install uv neovim vscode jetbrains-toolbox
软件清单详解:
-
gsudo: Windows 下的sudo,比官方的更强,体验与 Linux 一致。 -
scoop-search: 秒级搜索 Scoop 仓库软件(比原生scoop search快几十倍)。 -
everything: Windows 文件搜索神器。 -
powertoys: 微软官方出品的系统增强工具集。 -
everything-powertoys: 让 PowerToys 的启动器调用 Everything 的索引。 -
starship: 极速、高颜值的终端提示符(Prompt),支持显示 Git 状态、Python 版本等。 -
fzf: 命令行模糊查找工具。 -
ripgrep(rg): 速度极快的grep替代品。 -
bat: 带语法高亮和 Git 集成的cat替代品。 -
uv: Rust 编写的 Python 包版本管理器,速度飞快。 -
neovim: 现代化 Vim 编辑器。 -
vscode: 最流行的代码编辑器。 -
jetbrains-toolbox: 管理 IDEA, PyCharm 等 JetBrains 全家桶。
5. 日常维护与进阶
更新软件
Scoop 的更新分为两步:先更新仓库列表,再更新软件。
scoop update # 更新 scoop 本身和 bucket
scoop update * # 更新所有已安装的软件
清理旧版本
Scoop 默认会保留软件的旧版本(为了方便回退)。如果你的磁盘空间紧张,可以清理旧包:
scoop cleanup * # 清理所有软件的旧版本
软件备份与迁移
这是我最喜欢 Scoop 的一点:你可以导出一份列表,在另一台电脑上瞬间还原你的工作环境。
导出列表:
scoop export > scoop-apps.json
在另一台电脑恢复:
scoop import scoop-apps.json
6. 常见问题解决
Windows 搜索找不到安装的软件
现象:安装了 Chrome 或 VS Code,但按 Win 键搜索不到。
原因:Windows 索引默认只覆盖特定的开始菜单目录,具体路径为:C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs(在运行窗口中输入 shell:programs 后点击 Enter 也可直接打开)。
解决方法:
Scoop 实际上会自动创建快捷方式到 C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps。如果搜索不到,通常是因为索引未更新或快捷方式未正确生成。
尝试执行以下命令重置:
# 重置指定软件的快捷方式
scoop reset <package-name>
# 或者重置所有软件(推荐)
scoop reset *
reset 命令会重新执行安装脚本中的 “链接” 步骤,重建 .exe 的 shim 和开始菜单快捷方式。
此外,也可以使用 Scoop 自带的体检工具来发现路径或权限问题:
scoop checkup
Comments