MSYS2
Software Distribution and Building Platform for Windows
MSYS2 is a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software.
It consists of a command line terminal called mintty, bash, version control systems like git and subversion, tools like tar and awk and even build systems like autotools, all based on a modified version of Cygwin. Despite some of these central parts being based on Cygwin, the main focus of MSYS2 is to provide a build environment for native Windows software and the Cygwin-using parts are kept at a minimum. MSYS2 provides up-to-date native builds for GCC, mingw-w64, CPython, CMake, Meson, OpenSSL, FFmpeg, Rust, Ruby, just to name a few.
To provide easy installation of packages and a way to keep them updated it features a package management system called Pacman, which should be familiar to Arch Linux users. It brings many powerful features such as dependency resolution and simple complete system upgrades, as well as straight-forward and reproducible package building. Our package repository contains more than 3200 pre-built packages ready to install.
For more details see 'What is MSYS2?' which also compares MSYS2 to other software distributions and development environments like Cygwin, WSL, Chocolatey, Scoop, ... and 'Who Is Using MSYS2?' to see which projects are using MSYS2 and what for.
Installation
-
Download the installer: msys2-x86_64-20240507.exe
(Optional) For more information on the installer, like command line options, or how to verify the checksum and signature of the installer, see the installer guide.
-
Run the installer. Installing MSYS2 requires 64 bit Windows 10 or newer.
-
Enter your desired Installation Folder (short ASCII-only path on a NTFS volume, no accents, no spaces, no symlinks, no subst or network drives, no FAT).
-
When done, click Finish.
-
Now MSYS2 is ready for you and a terminal for the UCRT64 environment will launch.
-
You will probably want to install some tools like the mingw-w64 GCC to start compiling projects. Run the following command:
$ pacman -S mingw-w64-ucrt-x86_64-gcc
-
The terminal window will show the output as below. Press 'Enter' to continue:
resolving dependencies... looking for conflicting packages... Packages (15) mingw-w64-ucrt-x86_64-binutils-2.41-2 mingw-w64-ucrt-x86_64-crt-git-11.0.0.r216.gffe883434-1 mingw-w64-ucrt-x86_64-gcc-libs-13.2.0-2 mingw-w64-ucrt-x86_64-gmp-6.3.0-2 mingw-w64-ucrt-x86_64-headers-git-11.0.0.r216.gffe883434-1 mingw-w64-ucrt-x86_64-isl-0.26-1 mingw-w64-ucrt-x86_64-libiconv-1.17-3 mingw-w64-ucrt-x86_64-libwinpthread-git-11.0.0.r216.gffe883434-1 mingw-w64-ucrt-x86_64-mpc-1.3.1-2 mingw-w64-ucrt-x86_64-mpfr-4.2.1-2 mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-4 mingw-w64-ucrt-x86_64-winpthreads-git-11.0.0.r216.gffe883434-1 mingw-w64-ucrt-x86_64-zlib-1.3-1 mingw-w64-ucrt-x86_64-zstd-1.5.5-1 mingw-w64-ucrt-x86_64-gcc-13.2.0-2 Total Download Size: 49.38 MiB Total Installed Size: 418.82 MiB :: Proceed with installation? [Y/n] [... downloading and installation continues ...]
-
Now you can call
gcc
to build software for Windows.$ gcc --version gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
-
After installing MSYS2 it will update itself via
pacman
, see the update guide for more information.