Skip to main content
The m87 CLI can be installed on both your developer machine (for managing devices) and on edge devices (to run the runtime).

System requirements

Linux

Full support (amd64, arm64)CLI + runtime functionality

macOS

CLI only (amd64, arm64)For managing remote devices
Rust requirement for building from source: Rust 1.85 or later
The fastest way to get started is using the one-line installer:
This installs the latest version to $HOME/.local/bin. Make sure this directory is in your $PATH:
Add the export command to your shell configuration file (~/.bashrc, ~/.zshrc, etc.) to make it permanent.

Alternative installation methods

Download a pre-built binary from the GitHub releases page.
  1. Download the appropriate binary for your platform
  2. Extract the archive
  3. Move the binary to a location in your $PATH:
Build the binary yourself from the source code:
1

Clone the repository

2

Build the release binary

The binary will be created at target/release/m87.
3

Install to your PATH

Build configuration is auto-detected by OS:
  • Linux: Full functionality (CLI + runtime)
  • macOS: CLI only
Run m87 from a container without installing anything locally. Useful for CI pipelines or keeping your system clean.
1

Build the Docker image

2

Run m87 commands

Configuration persists in ~/.config/m87:
3

Optional: Create an alias

For convenience, add an alias to your shell configuration:
Now you can use m87 commands directly:

Verify installation

Confirm that m87 is installed correctly:
You should see output showing the current version:

Updating m87

To update to the latest version:
This downloads and installs the latest m87 binary.
If you’re running the m87 runtime on a device, you’ll need to restart it after updating:

Update a remote device

To update m87 on a remote device:

Next steps

Quick start

Connect your first device in under 5 minutes