Install moon
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.
Installing
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 https://moonrepo.dev/install.sh | bash
This will install moon to ~/.moon/tools/moon
and create a symlink in /usr/local/bin
. On WSL, we
prepand the PATH
environment variable.
Windows
In Powershell or Windows Terminal, run:
irm https://moonrepo.dev/install.ps1 | iex
This will install moon to ~\.moon\tools\moon
and prepend to the PATH
environment variable for
the current session. To persist across sessions, update PATH
manually.
Homebrew
Install with Homebrew:
brew tap moonrepo/tap
brew install moonrepo/tap/moon
Node.js
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
- Yarn (classic)
- npm
- pnpm
yarn add --dev @moonrepo/cli
yarn add --dev @moonrepo/cli
# If using workspaces
yarn add --dev -W @moonrepo/cli
npm install --save-dev @moonrepo/cli
pnpm add --save-dev @moonrepo/cli
# If using workspaces
pnpm add --save-dev -w @moonrepo/cli
Other
moon can also be downloaded and installed manually, by downloading an asset from
https://github.com/moonrepo/moon/releases. Be sure to
rename the file after downloading, and apply the executable bit (chmod +x
) on macOS and Linux.
Upgrading
moon can be upgraded with the moon upgrade
command. However, this will only
upgrade moon if installed with the official scripts (moon exists in ~/.moon
).
moon upgrade
Otherwise, you can re-run the installers above and it will download, install, and overwrite with the latest version.