MSYS2(Minimal SYStem 2)是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。同时它也是一个在CygwinMinGW-w64 基础上产生的,追求更好的互操作性的 Windows 软件。

MSYS2 是 MSYS 的一个升级版,准确的说是集成了 pacmanMingw-w64Cygwin 升级版,提供了bash shellLinux 环境、版本控制软件(git/hg)和 MinGW-w64 工具链。与 MSYS 最大的区别是移植了 Arch Linux 的软件包管理系统 Pacman(其实是与Cygwin的区别)。

安装说明

官网网站下载安装包。32位Windows下载msys2-i686安装包,64位Windows下载msys2-x86_64安装包。

pacman 命令

# 更新本地软件包
# 更新本地软件包数据库:
$ pacman -S --refresh
# 可以缩写为:
$ pacman -Sy
# 然后升级软件包:
$ pacman -S --refresh --sysupgrade 
# 可以缩写为:
$ pacman -Syu

# 列出所有安装了的软件
$ pacman -Q --explicit
# 或者
$ pacman -Q -e

# 安装新的软件包
$ pacman -S <package_names|package_groups>

# 搜索软件包
$ pacman -Ss <name_pattern>

# 删除一个软件包
$ pacman -R <package_names|package_groups>

下面是使用pacman安装一些mingw-w64相关工具的命令:

$ pacman -S make
--$ pacman -S gcc
--$ pacman -S mingw-w64-i686-make
$ pacman -S mingw-w64-i686-gcc
$ pacman -S mingw-w64-i686-cmake # (or the 64-bit version mingw-w64-x86_64-cmake)
$ pacman -S mingw-w64-i686-toolchain # (or  the 64-bit version mingw-w64-x86_64-toolchain)

常见问题

下面是使用msys2遇到的一些问题及解决方法:

  1. 执行cmake -G "MSYS Makefiles"时遇到CMake Error: Could not create named generator MSYS Makefiles错误:

    $ cmake -G "MSYS Makefiles"
    CMake Error: Could not create named generator MSYS Makefiles
    # 解决方法,执行下列命令并重新打开msys2
    $ pacman -R cmake
    $ pacman -S mingw-w64-i686-cmake
  2. 确实依赖的库文件,cannot open shared object file: No such file or directory

    C:/msys32/mingw32/bin/cmake.exe: error while loading shared libraries: zlib1.dll: cannot open shared object file: No such file or directory
    # 解决方法,执行下列命令检出所需package
    $ cygcheck cmake
    # 发现是原来是缺少libxml2-2.dll,执行下列命令安装libxml2
    $ pacman -S mingw-w64-i686-libxml2
  3. 如果出现permission denied错误,需要以管理员权限打开msys2。

标签: Windows, MinGW, MSYS2, pacman, Cygwin

添加新评论