环境搭建第一课:用 Scoop 统一管理你的开发工具
系列说明:这是「新生开发环境搭建」系列的第 1 篇。整个系列一共 4 篇:Scoop 包管理器 → Python 与 uv → Git 与 Gitee → VS Code 配置。这一篇是地基,后面的所有工具都从它装出来。
一、先聊聊你以前是怎么装软件的
开学到现在,你大概已经装过不少软件了。回想一下流程,多半是这样:打开浏览器,搜索软件名字,在一堆下载站里辨认哪个才是真官网,点「立即下载」,运行安装程序,然后开始一路「下一步」——途中还要火眼金睛地取消勾选两三个捆绑软件。
装一个软件是这样,装十个呢?我们这门课要用 Git、Python、VS Code,以后还会有更多。每个软件官网不同、更新方式不同、卸载方式也不同。用了一个学期,你的「开始菜单」会变成杂货铺,C 盘会被各种安装残留占满,想彻底卸载某个软件还得去翻注册表。
传统方式的问题不是「不能装」,而是每个软件都要单独伺候。下载找一处、更新找一处、卸载再找一处——事情一多就乱。
🎓 讲师提示:开场可以先现场问一圈「谁装 Python 的时候下到过捆绑软件」,几乎必有共鸣。痛点铺垫得越实,后面 Scoop 的价值就越顺理成章。
二、Scoop:给 Windows 装一个「应用商店」
手机上你怎么装 App?打开应用商店,搜名字,点安装,完事。更新统一在商店里点一下,卸载也是长按图标的事。没人会去每个 App 的官网下载安装包。
Scoop 就是给 Windows 做的「命令行应用商店」。它是一个包管理器(package manager):把几百个常用软件集中到一个「仓库」里,你想装什么,在终端里敲一条命令:
scoop install git
回车,Git 就装好了——不用找官网,不用点下一步,不会中捆绑软件的招。更新、卸载也全都是一条命令的事。
Linux 和 macOS 的用户早就离不开这套东西(他们用的叫 apt 和 brew),Windows 上可选的包管理器有好几个,Scoop 是其中对开发者最友好的一款。它有三个特点,正好戳中学生的痛点:
- 不用管理员权限:软件全部装在你的用户目录下(默认
C:\Users\你的用户名\scoop),不弹 UAC 弹窗,不污染系统目录,机房电脑也能装 - 绿色干净:卸载就是删目录,不留注册表垃圾
- 统一入口:装、查、更、卸,全在终端里完成,命令格式统一
🎓 讲师提示:演示时可以现场
scoop install一个小工具让大家看下载进度条,眼见为实比讲十条原理有效。
三、动手之前:把「执行策略」这道坎先迈过去
Windows 默认不允许 PowerShell 运行来路不明的脚本——这是安全机制,但对我们要装的东西来说就太严格了。几乎所有人在装 Scoop 的第一步都会撞上同一个报错:
...因为在此系统上禁止运行脚本...
解法很简单,打开 PowerShell(按 Win 键,输入 powershell,回车),执行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
出现确认提示时输入 Y 回车。这行命令的意思是:允许运行本地脚本和有签名的远程脚本,只对你当前用户生效,不改系统全局设置。
🎓 讲师提示:这一步是整节课最大的坑,建议直接投影出来带着全班一起敲。报错截图提前准备好,学生举手时你能一眼对上号。
四、安装 Scoop:一条命令,源在 国内
Scoop 官方的安装命令只有一行,但它要从 GitHub 下载文件——在校园网和宿舍网环境下,GitHub 时快时慢,装到一半超时是常有的事。所以我们直接用国内镜像版的安装脚本,功能一模一样,只是把下载源全部换成了国内:
irm https://gitee.com/scoop-installer/Install/raw/master/install.ps1 | iex
这行命令拆开看是两个动作:irm(Invoke-RestMethod 的缩写)把安装脚本下载下来,iex(Invoke-Expression)执行它。整个过程一两分钟,装完你会看到一行绿色的 Scoop was installed successfully!。
重要:装完之后,把当前 PowerShell 窗口关掉,重新开一个。因为安装程序修改了环境变量(PATH),旧窗口感知不到,新窗口才会加载。
验证安装是否成功:
scoop --version
能输出版本号就说明装好了。顺手看一下它把东西装哪了:
scoop config
默认的根目录是 C:\Users\你的用户名\scoop,以后所有 Scoop 装的软件都在这里的 apps 子目录下,命令入口统一放在 shims 子目录——这个 shims 已经被自动加进了 PATH,所以你敲 scoop 系统才能找到它。
🎓 讲师提示:如果学生想用官方源(
irm get.scoop.sh | iex),网络好也完全可以,装完后的换源操作见下一节。两条路殊途同归。
五、给 Scoop 换上国内源:一次配置,长期受益
安装只是第一步。Scoop 装好软件后,还要定期「更新软件目录」才知道最新版本有哪些——这个更新动作默认也是访问 GitHub。既然网络对 GitHub 不友好,我们把它的几个源全部换成国内镜像。
第一步:让 Scoop 自己的更新走国内(用 gitee 镜像版安装的话也建议执行,确保后续更新不回落到官方源):
scoop config scoop_repo https://gitee.com/scoop-installer/scoop.git
第二步:确认 main 软件仓库的地址。scoop bucket list 会列出当前配置的软件仓库,如果显示的地址是 gitee 或国内镜像的就不用动;如果还是 GitHub,换成南大镜像:
scoop bucket rm main
scoop bucket add main https://mirror.nju.edu.cn/git/scoop-main.git
第三步:刷新一次目录,验证链路通畅:
scoop update
没有红色报错就说明配置成功。这里出现了本文的第一个新概念——bucket(软件仓库),下一节细说。
六、五个命令吃掉 Scoop 80% 的日常
Scoop 的命令设计得很规整,日常使用就是下面这五个,背下来就够用:
| 命令 | 作用 | 例子 |
|---|---|---|
scoop search 关键词 | 搜仓库里有没有某个软件 | scoop search vscode |
scoop install 包名 | 安装 | scoop install git |
scoop list | 列出已装的所有软件 | — |
scoop update * | 更新全部已装软件 | — |
scoop uninstall 包名 | 卸载 | scoop uninstall git |
另外两个查询命令也很有用:scoop info 包名 查看软件的详细信息(版本、官网、说明),scoop which 命令名 查某个命令实际指向哪个文件——当你怀疑「装是装了怎么用不了」的时候,scoop which 一查便知。
有一个细节要注意:scoop search 只认包名,不认别名。比如 Windows 上著名的进程管理器 Process Explorer,在 Scoop 里的包名是 process-explorer,你搜 procexp 会一无所获。搜不到不等于没有,换个关键词,或者直接去 scoop.sh 网页版搜。
🎓 讲师提示:让每个学生现场把「search → info → install → list」四个命令串起来走一遍,装个轻量的(比如
bat,一个带高亮的 cat 替代品)练手,失败率最低。
七、bucket:软件的「货架分区」
用手机商店类比的话,bucket 就是商店里的货架分区。Scoop 官方维护着好几个仓库,各有分工:
| bucket | 内容 | 举例 |
|---|---|---|
main | 命令行开发工具 | git、python、uv、nodejs |
extras | 图形界面软件 | VS Code、微信、Typora |
versions | 同一软件的多个版本 | 旧版 JDK |
java | 各种 JDK 发行版 | OpenJDK、Temurin |
装 Scoop 时默认只有 main。我们要装 VS Code,它在 extras 货架上,所以得先把这层货架加上(同样走 gitee 镜像):
scoop bucket add extras https://gitee.com/scoop-installer/Extras.git
之后 scoop install vscode 就能找到了。以后想装什么,先 scoop search 一下,搜不到时想一想「是不是没加对应的货架」。
八、实战:把这门课要用的三件套装上
环境就绪,现在一口气把后面课程的主角装齐。打开 PowerShell,依次执行:
# Git:版本控制工具(下一系列课的主角)
scoop install git
# uv:Python 包管理器(第 2 篇的主角)
scoop install uv
# VS Code:代码编辑器(第 4 篇的主角)
scoop install vscode
每条命令会自动下载、解压、配置 PATH,几十秒到几分钟不等(取决于网速)。全部装完后跑一遍验证:
git --version
uv --version
code --version
三个命令都有正常输出,环境搭建就宣告完成。想看看自己都装了什么,scoop list 一目了然。
以后有新版本发布,你不再需要去官网下载安装包——一个命令搞定全部更新:
scoop update *
这就是包管理器的意义:把「伺候软件」的杂活,变成一条命令。
🎓 讲师提示:装 VS Code 时提醒学生,装完它就出现在开始菜单里了,Scoop 装的 GUI 软件和普通安装的软件用法完全一样,只是来源更干净。
code --version报「无法识别」时,先重开终端再试。
九、常见翻车现场与自救
把培训班里最容易出现的几个报错提前列出,遇到时对号入座:
「禁止运行脚本」:第三节讲过的执行策略问题,执行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 后重试。
装完命令敲不出来(scoop、git 等提示无法识别):环境变量没刷新。关掉当前 PowerShell,重新开一个窗口再试,九成的情况这就解决了。
下载中途失败、进度条卡死:多数是网络波动。先重试一次;如果反复失败,执行 scoop config aria2-enabled false 关掉多线程下载器再试(aria2 在部分校园网环境下会握手失败)。
scoop update 报错连不上:检查第五节的换源是否做完,scoop bucket list 里不应残留 GitHub 地址。
想换安装位置(比如 C 盘紧张):安装 Scoop 之前设置环境变量 SCOOP 指向目标目录即可,装完就不建议再挪了。
十、写在最后
这一篇我们把地基打好了:一个不会弹捆绑弹窗、不用点「下一步」、能一条命令更新所有工具的开发环境。
回头看,你今天实际上学了三层东西:最表面是几个 scoop 命令;中间是「包管理器」这个概念——它会贯穿你整个职业生涯,以后你还会在 Linux、Docker、各种语言里反复遇到它的变体;最底下是「镜像源」的意识——在国内做开发,知道哪里慢、怎么换源,是一项会持续救命的技能。
环境有了,下一篇我们把 Python 请进来,用 uv 把虚拟环境、依赖管理这些让无数人头疼的问题一次理顺。
评论交流
欢迎留下你的想法