Depending on your operating system and machine architecture, you may be able to download a prebuilt distribution of Macaulay2:
- Homebrew tap
brew tap Macaulay2/tap brew install M2
- Ubuntu package via PPA
sudo add-apt-repository ppa:macaulay2/macaulay2 sudo apt install macaulay2
- Fedora package
sudo dnf install Macaulay2
Building from source
The primary source code repository for Macaulay2 is on GitHub. For introductions to version control see:
See the install guide for detailed instructions on how to build Macaulay2 from source. A quick build using CMake and Ninja involves the following steps:
git clone https://github.com/Macaulay2/M2.git --branch development cd M2/M2/BUILD/build cmake -GNinja -S ../.. -B . -DCMAKE_BUILD_TYPE=Release ninja build-libraries build-programs ninja install-packages ninja M2-emacs
A list of common issues involving the CMake build is available on the GitHub Wiki. If you run into a problem not listed there or among the list of issues labeled “build system”, please open a new issue on GitHub.
Using Macaulay2 with Docker
Docker is a containerization program for building and running applications on different platforms. See this guide for detailed instructions on how to use Docker for running, developing, debugging, testing, or packaging Macaulay2 on any platform.
Using Macaulay2 on Windows 10
Macaulay2 can be used via the Windows Subsystem for Linux (WSL2). See this the quickstart guide and these instructions for setting up Macaulay2 on WSL2.
Using Macaulay2 remotely
Using the M2-mode package for Emacs, it is possible to use Macaulay2 remotely but still take advantage of syntax highlighting and auto-completion provided by the package.