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 2900 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.
Download the installer: msys2-x86_64-20230718.exe
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. MSYS2 requires 64 bit Windows 8.1 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.39-2 mingw-w64-ucrt-x86_64-crt-git-10.0.0.r68.g6eb571448-1 mingw-w64-ucrt-x86_64-gcc-libs-12.2.0-1 mingw-w64-ucrt-x86_64-gmp-6.2.1-3 mingw-w64-ucrt-x86_64-headers-git-10.0.0.r68.g6eb571448-1 mingw-w64-ucrt-x86_64-isl-0.25-1 mingw-w64-ucrt-x86_64-libiconv-1.17-1 mingw-w64-ucrt-x86_64-libwinpthread-git-10.0.0.r68.g6eb571448-1 mingw-w64-ucrt-x86_64-mpc-1.2.1-1 mingw-w64-ucrt-x86_64-mpfr-4.1.0.p13-1 mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-4 mingw-w64-ucrt-x86_64-winpthreads-git-10.0.0.r68.g6eb571448-1 mingw-w64-ucrt-x86_64-zlib-1.2.12-1 mingw-w64-ucrt-x86_64-zstd-1.5.2-2 mingw-w64-ucrt-x86_64-gcc-12.2.0-1 Total Installed Size: 397.59 MiB :: Proceed with installation? [Y/n] [... downloading and installation continues ...]
Now you can call
gccto build software for Windows.
$ gcc --version gcc.exe (Rev1, Built by MSYS2 project) 12.2.0
After installing MSYS2 it will update itself via
pacman, see the update guide for more information.
Our main server is sponsored by jsDelivr
Various organizations provide us with mirrors all around the world, see our mirror list for details.
Authors and Contributors
- Alexpux (Alexey Pavlov)
- martell (Martell Malone)
- mingwandroid (Ray Donnelly)
- Elieux (David Macek)
- lazka (Christoph Reiter)
- Renato Silva
- naveen521kk (Naveen M K)
- Biswa96 (Biswapriyo Nath)
- jeremyd2019 (Jeremy Drake)
- mati865 (Mateusz Mikuła)
- MehdiChinoune (مهدي شينون / Mehdi Chinoune)
You can donate to the project via GitHub Sponsors:
or via Open Collective: