首页
/ cs-self-learning 必学工具篇:用 Scoop 统一安装与管理 Windows 开发环境

cs-self-learning 必学工具篇:用 Scoop 统一安装与管理 Windows 开发环境

2026-09-04 20:56:48作者:卓艾滢Kingsley

在《CS自学指南》(cs-self-learning)中,Scoop 工具文档专门解决 Windows 用户"配环境配几天还没开始写代码"的痛点:通过 Scoop 这个命令行包管理器统一安装和管理 Python、Node.js 等常见开发软件,省去手动下载、安装与配置环境变量的繁琐步骤。读完本篇,你将掌握 Scoop 的 PowerShell 前置配置、带 -ScoopDir 自定义目录的完整安装流程、日常高频子命令,以及镜像源、Java 8、Python 2 三个高频坑位的具体解法。

一、为什么在 Windows 下选择 Scoop

Windows 下搭建开发环境一直是一个复杂且困难的问题:没有一个统一标准,各种开发环境的安装方式差异巨大,往往需要付出很多不必要的时间成本。Scoop 的核心价值在于帮你统一安装并管理常见的开发软件,把"下载安装包 → 一路下一步 → 手动改 PATH"这套流程压缩成一条命令。例如安装 Python 和 Node.js 只需要执行:

scoop install python
scoop install nodejs

这条命令背后体现了本仓库在 CS 学习规划 中的定位:在"环境配置"一节中,文档明确建议 Mac 用户参考社区指南搭建环境,而 Windows 用户可以直接借助 Scoop 获得与其他平台类似的体验(见 CS学习规划.md 中的推荐)。也就是说,Scoop 在该仓库中不是孤立的工具介绍,而是整条学习路线中"PC 端环境配置"的关键一环,配套文档还包括 MIT-Missing-Semester 风格的终端美化与环境配置指南,以及 实用工具箱 中列出的各类下载与设计工具。

与"安装器 + 绿色目录"的思路相比,Scoop 更像 Windows 上的命令行包管理器:软件以独立目录隔离存放、统一加入当前用户的 PATH、可通过命令升级卸载。理解这一点后,后文所有安装目录与 bucket(软件源仓库)的操作就都能串起来了。

二、安装前置:PowerShell 运行环境与执行策略

2.1 运行环境要求

Scoop 需要 Windows PowerShell 5.1 或 PowerShell(7+) 作为运行环境:

  • 如果你使用的是 Windows 10 及以上版本,Windows PowerShell 已内置在系统中,无需额外安装;
  • Windows 7 内置的 Windows PowerShell 版本过于陈旧,需要手动安装新版本的 PowerShell 才能使用 Scoop。

2.2 放开当前用户的执行策略

Windows 默认的执行策略会拦截本地下载的 .ps1 脚本,安装前需要先把当前用户CurrentUser 作用域,无需管理员权限)的策略设为 RemoteSigned,即允许本地脚本运行、但要求远程下载的脚本必须签名:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

注意 -Scope CurrentUser:它只影响当前登录用户,不会波及整台机器的其他账户,是权限最小化的安全做法。

三、安装 Scoop:三步完整流程

3.1 一个必须避开的坑:中文用户名

原文明确提示:很多用户在设置 Windows 账户时使用了中文用户名,导致用户目录(如 C:\Users\张三)也是中文名。如果按 Scoop 的默认方式把软件安装到用户目录下,可能会造成部分软件执行错误。因此这里推荐安装到自定义目录,而不是默认的 %USERPROFILE%\scoop

这个建议与 Scoop 的目录机制直接相关:Scoop 默认把自身和应用都放在用户主目录下的 scoop 子目录中,并假设整条路径可被所有软件安全解析;一旦主目录含有中文或特殊字符,某些对路径编码敏感的程序就会出错。所以用 -ScoopDir 把根目录指到纯 ASCII 路径(如 C:\Scoop)是从根上规避该问题的做法。其他安装方式可参考 ScoopInstaller/Install 项目提供的更多方案。

3.2 完整安装命令

以下三条命令按顺序在 PowerShell 中执行即可:

# 设置 PowerShell 执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 下载安装脚本
irm get.scoop.sh -outfile 'install.ps1'
# 执行安装, --ScoopDir 参数指定 Scoop 安装路径
.\install.ps1 -ScoopDir 'C:\Scoop'

逐行解读:

步骤 命令 作用
1 Set-ExecutionPolicy ... RemoteSigned -Scope CurrentUser 放开当前用户的脚本执行限制(见 2.2 节)
2 irm get.scoop.sh -outfile 'install.ps1' irmInvoke-RestMethod 的别名,从 get.scoop.sh 官方入口拉取安装脚本并保存为本地 install.ps1
3 .\install.ps1 -ScoopDir 'C:\Scoop' 运行安装脚本;-ScoopDir 参数把 Scoop 根目录指定为 C:\Scoop,避开中文用户名目录问题

.\install.ps1 前面的 .\ 是 PowerShell 的显式当前目录限定符——PowerShell 默认不会直接执行当前目录下的可执行文件,必须写 .\ 前缀,这是新手极易踩的一个语法坑。

四、使用 Scoop:常用子命令速查

原文建议读者直接阅读 Scoop 官方仓库(ScoopInstaller/Scoop)及其 Quick Start 维基,因为官方文档对新手非常友好。在此之外,结合 Scoop 的通用用法,日常开发中最常用的子命令可以归纳为下面几类,建议收藏备用:

# 搜索软件
scoop search python

# 安装 / 卸载 / 列出已装软件
scoop install git
scoop uninstall python
scoop list

# 查看某个可执行文件被安装到了哪个目录(排查 PATH 问题的利器)
scoop which python

# 升级:升级单个软件或全部软件
scoop update git
scoop update *

其中 scoop which 值得单独强调:Windows 下"命令找不到 / 找到了错误的版本"这类问题,十有八九是 PATH 顺序问题,用它可以直接定位二进制文件的真实位置,比逐条翻环境变量高效得多。

4.1 理解 bucket:Scoop 的软件来源模型

Scoop 通过 bucket(可以理解为"软件源仓库")来组织可安装的软件清单。默认只附带主仓库 main,社区维护的若干专项 bucket 需要手动添加后才能使用,这也是后文 Python 2 问题的根源:

# 查看当前已添加的 bucket
scoop bucket list
# 添加 / 移除 bucket
scoop bucket add versions
scoop bucket remove versions

Scoop 社区只维护"安装配置"(声明下载地址、校验值、安装脚本的 JSON 元数据),真正下载的软件包全部来自软件官方提供的下载链接——记住这一点,是理解后文"镜像源"答案的前提。

五、Q&A:三个高频问题及解法

5.1 Scoop 能配置镜像源吗?

不能。 正如 4.1 节所述,Scoop 社区仅维护安装配置,所有软件都从该软件官方提供的下载链接下载,所以无法像 Linux 包管理器或国内 pip/npm 那样切换镜像源。如果你的网络环境导致多次下载失败,只能从网络链路本身想办法,参考仓库中的 翻墙 文档。

5.2 为什么找不到 Java 8?

原因同上:Oracle 官方已不再提供 Java 8 的公开下载链接,因此主 bucket 中的 Java 8 无法安装。原文给出的替代方案是采用社区打包的 ojdkbuild8(OpenJDK 构建版 Java 8,来自 ScoopInstaller/Java bucket)。也就是说:找不到某个老版本,先检查是不是"官方下线了下载地址",再去对应的专项 bucket 里找社区构建版。

5.3 需要安装 Python 2 该如何操作?

Scoop 社区对已弃用、过时的软件有一套归档机制:把它们从主仓库 ScoopInstaller/Main 移除,转入归档仓库 ScoopInstaller/Versions。要安装这类软件,需要手动添加 versions bucket 后再执行安装:

scoop bucket add versions
scoop install python27

这个操作同时演示了"归档软件 + 手动 bucket"的完整套路:凡是 scoop search 搜不到的老版本软件,优先去 Versions bucket 里找。

六、小结与仓库内延伸阅读

本篇完整覆盖了仓库 Scoop 工具文档(英文版见 Scoop.en.md)的全部要点,可快速回顾:

  1. 动机:Scoop 用一条命令统一安装 Python/Node.js 等软件,消除 Windows 环境配置的碎片化成本;
  2. 前置:Windows 10+ 自带 PowerShell 5.1,Win7 需手动升级;先用 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 放开当前用户脚本策略;
  3. 安装irm get.scoop.sh -outfile 'install.ps1' 拉取脚本后,用 .\install.ps1 -ScoopDir 'C:\Scoop' 装到自定义纯 ASCII 目录,规避中文用户名目录导致的软件执行错误;
  4. 日常scoop install / uninstall / list / update / which / search 覆盖装管全生命周期,scoop bucket 管理软件源;
  5. Q&A:无镜像源(下载走软件官方链接)、Java 8 用 ojdkbuild8 替代、Python 2 需 scoop bucket add versions 后安装 python27

该文档在站点导航中注册于 mkdocs.yml必学工具/Scoop.md 条目)。如果你想继续完善 Windows 开发环境,可以接着阅读仓库中的 MIT-Missing-Semester(终端与命令行技巧)与 实用工具箱(下载、设计、编程辅助工具合集)。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
527
590
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
904
1.82 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
docsdocs
暂无描述
Markdown
889
5.78 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.52 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.33 K
1.45 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
980
502
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384