Scoop 包管理器与 MinGW 工具链详解
📦 什么是 Scoop,Scoop的历史?
Scoop 是 Windows 平台上的命令行包管理器,类似于 Linux 的apt、yum或 macOS 的Homebrew。它让 Windows 用户可以通过简单的命令行操作来安装、更新和管理软件。
Scoop 诞生于 2013 年左右,是 Windows 平台上一款“类 Homebrew”的命令行包管理器。
它的出现背景很简单:当时 Windows 用户想装开发工具得挨个去官网下载、手动改 PATH,既繁琐又容易把系统目录弄脏;而 Linux 有 apt/yum、macOS 有 Homebrew,Windows 却没有趁手的同类工具。作者 Luke Sampson 于是用 PowerShell 写了 Scoop,目标是“一条命令就把软件干净地装进用户目录,卸载时不留残渣”。
2013–2015 年:
- 项目放在 GitHub,早期只维护一个主 bucket(软件仓库),以开源/命令行小工具为主。
- 采用“portable 优先”策略:尽量下载压缩包,解压后把可执行文件软链到 /scoop/shims,避免写注册表、不写系统目录,因此无需管理员权限即可安装。
2016–2018 年:
- 社区开始大量贡献“bucket”,出现 extras、versions、java、games 等独立仓库,软件数量从几百增长到几千。
- 引入自动更新机制(checkver + autoupdate 脚本),上游一发新版,官方仓库几小时内就能自动生成新 manifest。
- 国内用户群体扩大,知乎、CSDN 出现大量安装教程,“Windows 上的 Homebrew”这一口号被普遍接受。
2019–2020 年:
- 核心代码逐渐模块化,支持多架构(32/64 bit)、多语言运行环境(nodejs、python、ruby 等)。
- 微软官方推出 winget 预览版,外界曾担心 Scoop 会被“招安”或边缘化,但作者和核心维护者仍保持独立更新,继续走“用户空间、零权限、绿色安装”路线。
2021 年至今:
- 项目进入“半社区自治”状态:Luke Sampson 淡出日常维护,由 lukesampson/scoop 组织里几位核心成员合码、Review PR。
- 功能迭代放慢,没有官方路线图,但 bucket 生态继续膨胀,仅官方主仓库就超过 1 000 款软件,extras 仓库更达 4 000+。
- 国内镜像源、一键换源脚本、GUI 前端(如 ScoopGUI)相继出现,进一步降低了上手门槛。
一句话总结:
Scoop 从 2013 年个人 side-project 起步,凭借“不写系统目录、无需管理员、卸载干净”的差异化定位,在 Windows 包管理圈子里站稳了脚;虽然后来 winget 入局,但它仍以灵活、轻量、社区驱动的方式继续存活并迭代。
Scoop 的核心优势
- 自动化安装:一条命令完成下载、安装、配置
- 自动配置环境变量:无需手动设置 PATH
- 版本管理:轻松切换软件版本
- 干净卸载:卸载时自动清理相关文件
- 集中管理:所有软件统一管理,一目了然
安装 Scoop
# 1. 打开 PowerShell(以普通用户权限即可,不需要管理员)# 2. 设置执行策略(如果遇到权限问题)Set-ExecutionPolicyRemoteSigned-Scope CurrentUser# 3. 安装 Scoopirmget.scoop.sh|iexScoop 常用命令
# 安装软件scoop install <软件名># 卸载软件scoop uninstall <软件名># 更新软件scoop update <软件名># 更新所有软件scoop update*# 查看已安装软件scoop list# 搜索软件scoop search <关键词># 查看软件信息scoop info <软件名>实际应用示例
使用 Scoop 安装开发工具链:
# 安装 MinGW(包含 GCC 编译器)scoop install mingw# 安装 CMake(构建系统生成器)scoop install cmake# 安装 Git(版本控制)scoop install git# 验证安装gcc--version cmake--version git--version🔧 MinGW、GCC 和 Makefile 的关系
基本概念
GCC (GNU Compiler Collection)
- 定义:GNU 编译器集合,包含 C、C++、Fortran 等多种语言的编译器
- 作用:将源代码编译成可执行文件或目标文件
- 平台:主要在 Linux/Unix 系统上使用
MinGW (Minimalist GNU for Windows)
- 定义:Windows 平台上的 GCC 移植版本
- 作用:在 Windows 上提供 GCC 工具链
- 包含:
gcc.exe- C 编译器g++.exe- C++ 编译器make.exe- 构建工具ar.exe- 归档工具ld.exe- 链接器- 其他开发工具
Makefile
- 定义:构建脚本文件,定义了项目的编译规则和依赖关系
- 作用:告诉
make工具如何编译和链接项目 - 格式:使用 Makefile 语法编写
三者关系图解
┌─────────────────────────────────────────────────┐ │ 源代码文件 (.cpp, .c) │ └───────────────────┬─────────────────────────────┘ │ ▼ ┌───────────────────────┐ │ Makefile │ │ (构建规则文件) │ └───────────┬─────────────┘ │ ▼ ┌───────────────────────┐ │ make.exe │ │ (来自 MinGW) │ │ 读取 Makefile │ └───────────┬─────────────┘ │ ▼ ┌───────────────────────┐ │ gcc/g++.exe │ │ (来自 MinGW) │ │ 编译源代码 │ └───────────┬─────────────┘ │ ▼ ┌───────────────────────┐ │ 目标文件 (.o) │ └───────────┬─────────────┘ │ ▼ ┌───────────────────────┐ │ gcc/g++.exe │ │ (链接器) │ │ 链接目标文件 │ └───────────┬─────────────┘ │ ▼ ┌───────────────────────┐ │ 可执行文件 (.exe) │ └───────────────────────┘详细工作流程
1. 编写源代码
// main.cpp#include<iostream>intmain(){std::cout<<"Hello, World!"<<std::endl;return0;}2. 创建 Makefile
# Makefile main.exe: main.cpp g++ main.cpp -o main.exe clean: del main.exe3. 执行构建
# make.exe(来自 MinGW)读取 Makefilemake# make 发现需要 main.exe,依赖 main.cpp# 执行命令:g++.exe main.cpp -o main.exe# g++.exe(来自 MinGW)编译并生成 main.exe4. 运行程序
.\main.exe# 输出:Hello, World!关系总结
| 组件 | 角色 | 作用 |
|---|---|---|
| MinGW | 工具链集合 | 提供 Windows 上的 GCC 工具(gcc、g++、make 等) |
| GCC/G++ | 编译器 | 将源代码编译成目标文件,链接成可执行文件 |
| Makefile | 构建脚本 | 定义编译规则,告诉 make 如何调用编译器 |
| make | 构建工具 | 读取 Makefile,执行编译命令 |
实际开发中的完整流程
使用 CMake + MinGW 的典型流程
# 1. CMake 读取 CMakeLists.txt,生成 Makefilecmake..# 2. make(来自 MinGW)读取生成的 Makefilemake# 3. g++(来自 MinGW)编译源代码# (make 内部调用 g++)# 4. 生成可执行文件.\hello.exeCMakeLists.txt 示例
cmake_minimum_required(VERSION 3.10) project(HelloCMake LANGUAGES CXX) add_executable(hello main.cpp)CMake 生成的 Makefile(简化版)
# CMake 自动生成的 Makefile(简化示例) hello.exe: main.cpp g++ main.cpp -o hello.exe🚀 完整安装和使用指南
第一步:安装 Scoop
# 在 PowerShell 中执行irmget.scoop.sh|iex第二步:使用 Scoop 安装 MinGW
# 安装 MinGW(包含 gcc、g++、make)scoop install mingw第三步:验证安装
# 检查 GCCgcc--version# 输出示例:gcc (MinGW.org GCC-8.2.0-5) 8.2.0# 检查 G++g++--version# 输出示例:g++ (MinGW.org GCC-8.2.0-5) 8.2.0# 检查 Makemake--version# 输出示例:GNU Make 4.2.1第四步:创建测试项目
# 创建项目目录mkdirtest-projectcdtest-project# 创建源代码echo'#include <iostream> int main() { std::cout << "Hello from MinGW!" << std::endl; return 0; }'>main.cpp# 创建 Makefileecho'main.exe: main.cpp g++ main.cpp -o main.exe clean: del main.exe'>Makefile# 编译make# 运行.\main.exe📚 扩展阅读
Scoop 有哪些值得安装的软件
下面这份清单把“装完就能显著提升效率、且几乎不会踩坑”的软件按场景分好类,全部来自 Scoop 现成仓库,复制命令即可一键安装。排名不分先后,但都是各品类里“用过就回不去”的口碑款。
- 终端 & 命令行基础设施
git– 版本控制,必装sudo– Windows 里临时提权,再也不用“以管理员身份运行”7zip/unzip– 压缩/解压全格式,体积小巧curl/wget– 下载、调试接口busybox– 100+ Linux 常用命令一次性补齐vim/nano– 随手改配置文件
- 开发环境一条龙
vscode– 宇宙级编辑器,插件生态无敌nodejs/python/go/rust– 语言全家桶,自动配 PATHjdk17/maven/gradle– Java 后端三件套cmake/gcc– C/C++ 编译链docker-cli– 本地镜像/容器操作,配合 Docker Desktop 更香
- 文件与系统管理
everything– 秒搜全盘文件名,体积不到 2 MBsnipaste– 贴图+标注神器,截图党必备lockhunter– 解锁被占用的文件/文件夹winscp– SFTP/FTP 图形客户端beyondcompare– 文件/文件夹差异对比,合并利器syncthing– 开源跨设备同步,无云也能秒同步
- 日常办公 & 写作
typora– Markdown 实时预览,写作体验天花板notepadplusplus– 轻量文本/代码编辑器foxit-pdf/sumatrapdf– 极速 PDF 阅读器wpsoffice– 免费办公三件套xmind– 思维导图,会议整理神器
- 媒体与娱乐
potplayer– 最强本地播放器,解码格式全覆盖obs-studio– 直播/录屏/推流一站式imageglass– 开源看图工具,秒开大图ffmpeg– 音视频转码、提取、压缩命令行全能王
- 网络 & 安全小工具
wireshark– 抓包排障,网络工程师标配nmap– 端口扫描、资产发现postman– API 调试、Mock 服务keepass/bitwarden-cli– 密码库本地+云双保险
- 字体与美化
FiraCode-NF/JetBrainsMono-NF– 连字+图标一体化,终端/Vim 颜值翻倍mactype– 让 Win10/11 字体渲染瞬间“苹果化”
- 极客向 Bonus(按需)
powertoys– 官方效率套装(批量重命名、窗口置顶、颜色选择器等)processhacker– 比任务管理器更强大的进程/服务查看器dnspy– .NET 反编译调试sysinternals– 微软官方 70+ 系统级工具合集
一条命令全装示例(按需要自行删减)
scoop install sudo 7zip git curl vim everything vscode nodejs python jdk17 maven typora potplayer snipaste notepadplusplus imageglass ffmpeg keepass foxit-pdf FiraCode-NF以上软件均收录在
main/extras/nerd-fonts等官方维护仓库,更新及时、卸载干净,可放心食用。
MinGW vs MSVC
| 特性 | MinGW (GCC) | MSVC |
|---|---|---|
| 平台 | Windows | Windows |
| 许可证 | GPL/LGPL | 专有 |
| 标准支持 | 最新 C++ 标准 | 最新 C++ 标准 |
| 跨平台 | 是(Linux/Mac 也用 GCC) | 否 |
| 性能 | 优秀 | 优秀 |
为什么选择 MinGW?
- 跨平台一致性:Linux/Mac 也用 GCC,代码更容易移植
- 开源免费:完全免费,无授权问题
- 标准支持:对 C++ 标准支持及时
- 工具丰富:GDB 调试器、Valgrind 等工具支持
其他相关工具
- CMake:构建系统生成器,可以生成 Makefile
- Ninja:更快的构建系统,CMake 也可以生成 Ninja 文件
- GDB:GNU 调试器,用于调试程序
- Clang:另一个优秀的 C++ 编译器
🎯 总结
- Scoop是 Windows 上的包管理器,让软件安装变得简单
- MinGW是 Windows 上的 GCC 工具链,提供编译器和构建工具
- GCC/G++是编译器,负责将源代码编译成可执行文件
- Makefile是构建脚本,定义编译规则
- make是构建工具,读取 Makefile 并执行编译命令
它们的关系是:
- MinGW提供工具(gcc、g++、make)
- Makefile定义规则
- make执行规则
- gcc/g++执行编译
使用 Scoop 安装 MinGW 是最简单的方式,一条命令就能完成安装和配置!