Skip to main content

Install moon

2 min

The following guide can be used to install moon and integrate it into an existing repository (with or without incremental adoption), or to a fresh repository.


The entirety of moon is packaged and shipped as a single binary. It works on all major operating systems, and does not require any external dependencies. For convenience, we provide the following scripts to download and install moon.

Linux, macOS, WSL

In a terminal that supports Bash, run:

curl -fsSL | bash

This will install moon to ~/.moon/bin and create a symlink in /usr/local/bin. If the symlink fails, you'll need to set the PATH manually in your shell.

export PATH="$HOME/.moon/bin:$PATH"


In Powershell or Windows Terminal, run:

irm | iex

This will install moon to ~\.moon\bin and prepend to the PATH environment variable for the current session. To persist across sessions, update PATH manually.


moon can be installed and managed in proto's toolchain using a TOML plugin. This will install moon to ~/.proto/tools/moon and make the binary available at ~/.proto/bin.

moon = "source:"
proto install moon

Furthermore, the version of moon can be pinned on a per-project basis using the .prototools file.

moon = "1.3.0"


moon is also packaged and shipped as a single binary through the @moonrepo/cli npm package. Begin by installing this package at the root of the repository. This is also useful in pinning the exact version the repository should be using.

yarn add --dev @moonrepo/cli


moon can also be downloaded and installed manually, by downloading an asset from Be sure to rename the file after downloading, and apply the executable bit (chmod +x) on macOS and Linux.


moon can be upgraded with the moon upgrade command. However, this will only upgrade moon if it was installed in ~/.moon/bin.

moon upgrade

Otherwise, you can re-run the installers above and it will download, install, and overwrite with the latest version.

Next steps