Install proto
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
# Ubuntu / Debian
apt-get install git unzip gzip xz-utils
# RHEL-based / Fedora
dnf install git unzip gzip xz
Installing
The entirety of proto is packaged and shipped as 2 binaries. 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.
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 may 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.