关于 Msys2
前言
所有在 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 安装目录。
如果你使用官方源的话,直接使用链接给的指令将官方源在对应文件出现在的位置修改即可。
然后使用:
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 环境):
pacman -S mingw-w64-ucrt-x86_64-gcc
和
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 只会提供一些较为简单的软件。