2026-03-14-关于 MSYS2

734 个字
4 分钟
2026-03-14-关于 MSYS2

MSYS2 是一个工具和库的集合,为你提供了一个易于使用的环境,用于构建、安装和运行原生 Windows 软件。其提供了最新的原生构建,支持 GCC、MinGW-w64、CPython、CMake、Meson、OpenSSL、FFmpeg、Rust、Ruby 等。

其具备一个名为 Pacman 的包管理器,拥有许多强大的功能,如依赖关系解决和简单的完整系统升级,以及简单且可复现的包构建。

更多可以看 “什么是 MSYS2?”,主要讲 MSYS2 与其他开发环境的对比,如 CygwinWSLChocolateyScoop,…以及 “谁正在使用 MSYS2?”

安装#

  1. 下载安装程序:

    msys2-x86_64-20251213.exemsys2-arm64-20251213.exe(ARM64)

    (可选)有关安装程序的更多信息,如命令行选项,或如何验证安装程序的校验和签名,请参阅 安装程序指南 更多信息请见。

  2. 运行安装程序。安装 MSYS2 需要 64 位 Windows 10(1809+)或更新版本。

  3. 选择安装文件夹。建议用默认设置

    Second screen of MSYS2 installation
    Second screen of MSYS2 installation

  4. 完成后,点击完成

    Third screen of MSYS2 installation
    Third screen of MSYS2 installation

  5. 现在 MSYS2 已经准备好,UCRT64 环境 的终端也将启动。

    Empty MSYS2 terminal window
    Empty MSYS2 terminal window

  6. 安装一些工具如 MinGW-w64 GCC,开始编译项目:

    pacman -S mingw-w64-ucrt-x86_64-gcc
    gcc --version
    gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
  7. MSYS2会通过 pacman 自动更新,更多信息请参见 更新指南

pacman 的配置#

安装完毕后先要更改为国内源然后更新源,默认的国外源很慢,以下用清华镜像为例: 进入msys2安装目录

编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686

编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64

编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch

执行 pacman -Syu 更新源和msys2

pacman 常用命令#

pacman 是 MSYS2 的核心包管理器,掌握其常用命令对于日常使用非常重要:

查询和搜索软件包#

  • pacman -S package_name - 安装软件包
  • pacman -Ss keyword - 搜索关键词相关的软件包
  • pacman -Si package_name - 显示软件包详细信息
  • pacman -Q - 列出本地已安装的软件包
  • pacman -Qi package_name - 显示本地已安装软件包的信息
  • pacman -Qs keyword - 搜索已安装的软件包

升级和管理软件包#

  • pacman -Sy - 同步软件包数据库(刷新软件源)
  • pacman -Su - 升级所有软件包
  • pacman -Syu - 同步数据库并升级所有软件包(常用命令)
  • pacman -R package_name - 删除单个软件包
  • pacman -Rs package_name - 删除软件包及其不被其他软件包需要的依赖
  • pacman -Rsc package_name - 删除软件包及其所有依赖
  • pacman -U /path/to/package.pkg.tar.xz - 安装本地软件包

清理缓存#

  • pacman -Sc - 删除除了当前保持的包外的所有包
  • pacman -Scc - 清空整个包缓存
  • pacman -Sccc - 多次使用 c 参数会额外删除已安装软件包的数据库缓存

环境变量同步windows#

在高级系统设置——>环境变量中设置

MSYS2_PATH_TYPE = inherit

alt text
alt text

分享到社交平台

将本文分享给你的朋友们

2026-03-14-关于 MSYS2
https://firefly.cuteleaf.cn/posts/2026-03-14-关于-msys2/
作者
Zhongye
发布于
2026-03-15
版权声明
CC BY-NC-SA 4.0

评论

Profile Image of the Author
Zhongye
南漂中
公告
新的博客站!旧站点传送门 zhongye1.github.io/Arknight-notes
音乐
专辑封面

音乐

暂无播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章数
142
分类数
14
标签数
214
总字数
339,690
运行天数
0
最后更新
0 天前

目录