Skip to main content

Install proto

1 min

The following guide can be used to install proto into your environment.

Requirements

  • Git - for fetching available versions/tags
  • tar, unzip, gz, xz - for unpacking archives
# macOS
brew install git unzip gzip xz

# Linux
apt-get install git unzip gzip xz-utils

Installing

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

info

The install location can be customized with the PROTO_HOME environment variable. If not provided, the default location is ~/.proto.

Linux, macOS, WSL

In a terminal that supports Bash, run the following command. This will download and install proto, then open an interactive prompt to complete the installation.

curl -fsSL https://moonrepo.dev/install/proto.sh | bash

Furthermore, the version of proto to install can be passed as an argument to the install script. We also accept --no-profile to avoid modifying your shell profile, and --yes to avoid interactive prompts.

curl -fsSL https://moonrepo.dev/install/proto.sh | bash -s -- 1.2.3 --yes

Windows

In an administrator Powershell or Windows Terminal, run the following command. This will download and install proto, then open an interactive prompt to complete the installation.

irm https://moonrepo.dev/install/proto.ps1 | iex

You'll also need to run the following command for shims to be executable:

Set-ExecutionPolicy RemoteSigned

# Without admin privileges
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

Other

proto can also be downloaded and installed manually, by downloading an asset from https://github.com/moonrepo/proto/releases. Be sure to rename the file after downloading, and apply the executable bit (chmod +x) on macOS and Linux.

Upgrading

To upgrade proto, run the proto upgrade command, or re-run the install scripts above.

Uninstalling

To uninstall proto, delete the ~/.proto directory, and remove any PROTO_HOME references from your shell profile.

Canary releases

proto supports canary releases, which are built and published for every commit to our development branches. These releases will include features and functionality that have not yet landed on master. Canary releases are available as a GitHub prerelease using the canary tag.

Nightly releases

proto supports nightly releases, which are built and published once a day from the latest commit on master. Nightly releases are available as a GitHub prerelease using the nightly tag.