专栏文章

关于 Msys2

科技·工程参与者 3已保存评论 2

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
2 条
当前快照
1 份
快照标识符
@mi6futgx
此快照首次捕获于
2025/11/20 04:12
3 个月前
此快照最后确认于
2025/12/01 20:51
3 个月前
查看原文

前言

所有在 Windows 上配置过 VSCode/Sublime Text/Emacs 的人都从教程中听说过 MinGW,其中有不少教程使用 Msys2,所以这篇文章是为了回到橙名目的当然是关于如何更好的使用 Msys2。

下载

官网是这个,写文章时,给的下载链接在 GitHub 上,部分地区无法正常访问。
很简单,双击按照步骤安装,没设 Path 设一个即可。
此时,你会发现自动打开 MSYS2 UCRT64,然后你打开开始菜单:
  • MSYS2 MSYS
  • MSYS2 UCRT64
  • MSYS2 CLANG64
  • MSYS2 CLANGARM64
  • MSYS2 MINGW64
这啥啊!
  • MSYS2 MSYS 基于 MSVCRT,就是你电脑里的 Visual C++,不排除像我一样随手把它卸载的可能。
  • UCRT64 代表着的它不是使用 MSVC 作为 C 运行时库,而是 Windows 10 自带的一种 C 运行时库 UCRT,64 位。
  • CLANG64 和 CLANGARM64 也是使用 UCRT,但是它们默认使用 clang 编译器。
  • MinGW64 基于 MSVCRT,但不需要 MSYS 的一些库支持,基于 MinGW64 而不是 MSYS。
听不懂,本质就这些区别:
  • 使用 MSYS2 MSYS 和 MinGW64 需要 Visual C++。
  • 基于 UCRT 的一般需要 Windows 10 及以上版本。

使用

一般建议使用 MSYS2 UCRT64。
几乎所有教程都会教你使用 Pacman 指令安装 GCC。
Pacman 是一种包管理器,就像是 NOI Linux 的 apt 一样,可以用来安装卸载更新软件。

使用国内源

一般情况下,它会去官方的软件源去下载,国外的服务器下载速度可能不太快。
这里使用清华源,要修改不同工具链下的对应的软件源配置。
在 Msys 中,对应位置是:/etc/pacman.d/mirrorlist.*
Msys 的根目录对应着你 Msys 安装目录。
如果你使用官方源的话,直接使用链接给的指令将官方源在对应文件出现在的位置修改即可。
然后使用:
SH
pacman -Syu
即可。

如何使用

与 Arch Linux 中的 pacman 基本一致。
  • 安装软件:pacman -S <package_name_1> <package_name_2> ...
  • 与软件源同步:pacman -Sy
  • 更新软件:pacman -Su (<package_name_1> <package_name_2> ...)
  • 同步并更新所有软件:pacman -Syu
  • 卸载软件:pacman -R <package_name_1> <package_name_2> ...
  • 查找软件(所有软件):pacman -Ss <package_name>
  • 查找软件(已安装):pacman -Qs package
  • 安装本地包:pacman -U *.pkg.tar.gz
基本如此。
例如说:我要安装 GCC,有两种选择(这里使用 UCRT64 环境):
SH
pacman -S mingw-w64-ucrt-x86_64-gcc
SH
pacman -S gcc
一个是基于 MinGW 的 GCC,一个是基于 Msys2 的 GCC,通常如果跟着教程通常选第一个,实际上第二个也可以。
Msys2 上的软件包应该都是命令行,若有什么桌面环境 GUI 软件可以考虑 Cygwin。
Msys2 上的软件例如有:
  • 编译器:GCC、Clang、Python 3、Ruby 等。
  • 编辑器:Vim、Emacs、Midnight Commander 等。
  • 构建系统:GNU Make、Cmake、Ninja 等。
  • 调试工具:GDB 等。
  • 网络工具:Curl、Wget、OpenSSH、Git 等。

最后

你可以通过 Msys2 安装一些命令行工具,例如编译器等。如果你想干一些有趣的事情,Cygwin 可以满足,而 Msys2 只会提供一些较为简单的软件。

评论

2 条评论,欢迎与作者交流。

正在加载评论...