很多人还在用那个号称“万能”的 Cygwin 或者被 Perl 5.8 卡住脖子的旧版 MinGW,其实 MSYS2 才是 Windows 下真正的类 Linux 开发神器,它本质上是对这两者的彻底重构,把 Arch Linux 那套 Pacman 包管理哲学硬生生搬到了 Windows 上。最让我心动的是它自带中文支持,再也不用像以前那样对着乱码目录抓狂,输入中文路径也能丝滑运行,这对咱们中文开发者太友好了。它的核心逻辑其实就三点:一是用 Bash 或纯 MinGW 子系统构建环境,环境变量配置得当才能避免各种莫名其妙的崩溃;二是 PATH 变量必须干净,千万别混进 Cygwin 或其他乱七八糟的工具链,否则编译脚本一跑就炸,这点坑我踩过太多次了;三是那个 Pacman 简直是神器,依赖自动解决、一键升级系统,甚至能像 Arch 玩家一样用 pkgtool 折腾本地包。虽然默认源在教育网可能有点慢,但换个镜像立马起飞,记得去等 pacman.d 文件夹下改那几个 mirrorlist 文件,换完源重启一下终端再装 mingw-w64 工具链,想搞 32 位还是 64 位编译就对了。说白了,这就是给 Windows 注入了一剂 Arch 的灵魂,让你能在熟悉的系统里享受最纯粹的开源开发体验,那种掌控感和效率的提升,真的会让你忍不住想把所有项目都迁移过去。

软件特点
1、安装方便
2、源速度还可以(修改下载镜像)
3、自带软件和库较全且很新(对比mingw万年perl 5.8)
4、自带pacman管理,可以使用pkgtool来makepkg,完美集成arch折腾之魂
5、使用mingw-w64工具链,可以编译32位或64位代码(需要之后装)
6、中文支持好,可以直接输入和浏览中文目录
软件功能
1、壳
每个子系统都有一个关联的“外壳”,它本质上是一组允许子系统正确协作的环境变量。可以使用MSYS2安装目录中的启动程序或使用Windows“开始”菜单中的快捷方式调用这些shell。发射器设置MSYSTEM变量,并打开一个合适的shell(bash)的终端窗口(mintty)。Bash反过来根据价值来设置环境的来源。如果没有正确的环境,各种各样的事情可能而且将会中断。例外是使用纯Windows的mingw子系统,除了入口之外不需要任何特殊的环境。
2、路径
为了获得最佳的使用效果,MSYS2会自动剥离您的PATH环境变量,基本上只剩下C:\Windows\System32几个。可以通过MSYS2_PATH_TYPE在启动shell之前设置变量或在执行启动脚本时使用正确的参数来控制此行为。注意混合来自其他MSYS2安装,Cygwin安装,编译器工具链甚至各种其他程序的程序不被支持,并可能以意想不到的方式破坏事物。PATH运行MSYS2时不要有这些东西,除非你知道你在做什么。
3、包
MSYS2使用Arch Linux的pacman进行包管理。这带来了许多强大的功能,如依赖解决和简单的完整系统升级,以及提供构建系统(makepkg-mingw),这是用来制作这些包。
4、文件系统
虚拟文件系统包含路径和内容。
使用简介
1、换源
默认的源在有些地方速度还可以,教育网内速度一般,可以添加其他镜像提高速度,下面列举了已知的速度还可以源,请大家自己按照现有网速排序,现在有些开源镜像添加了msys2的源,感谢各个开源镜像站点!
编辑安装目录下\etc\pacman.d\文件夹下mirrorlist.msys等三个文件。
(1)mirrorlist.msys<
(2)mirrorlist.mingw64
(3)mirrorlist.mingw32
2、更新
换源后,运行pacman -Syu更新所有工具,重启msys2(关了重开bat)即可
3、安装工具链
运行 pacman -S mingw-w64-x86_64-toolchain mingw-w64-i686-toolchain base-devel 选择需要的数字,使用空格隔开,按照提示即可。或者分别安装mingw-w64、make等工具。
安装后需要启动对应的脚本,例如需要编译32位程序,启动 mingw32_shell.bat,使用msys2_shell.bat无法启动gcc等程序。






























共有 0条评论