Update Command
The easiest way to update m87 is using the built-in update command:The update command works for installations in standard locations like
~/.local/bin or /usr/local/bin. For custom installations, you may need to update manually.Updating the CLI
1
Check current version
First, check which version you’re currently running:
2
Run update
Update to the latest version:The command will:
- Check for the latest release
- Download the appropriate binary for your platform
- Replace your current m87 binary
- Preserve file permissions
3
Verify update
Confirm the new version is installed:
Updating the Runtime
After updating the m87 CLI, you should also update the runtime on your edge devices.Update Local Runtime
If you’re updating the runtime on the same machine where you updated the CLI:Update Remote Device Runtime
To update the runtime on a remote device:1
Update the binary
Execute the update command on the remote device:
2
Restart the runtime
Restart the runtime to use the new binary:
3
Verify the update
Check the runtime is running with the new version:
Combined Update Command
You can combine both steps into a single command:Update Multiple Devices
To update multiple devices at once, use a shell loop:Manual Update Methods
Update via Installation Script
Re-run the installation script to get the latest version:~/.local/bin/m87.
Update from GitHub Releases
1
Download the latest release
Visit the releases page and download the appropriate binary for your platform:Linux (amd64):Linux (arm64):macOS (amd64):macOS (arm64):
2
Make it executable
3
Replace existing binary
Update from Source
If you built m87 from source, update by pulling the latest code and rebuilding:Docker-Based Installation
If you’re running m87 via Docker:1
Pull the latest image
2
Verify the update
Your alias remains the same, so no additional configuration is needed.
Update Strategies
Scheduled Updates
For production deployments, consider scheduling updates during maintenance windows:Staged Rollout
For large fleets, update a small subset first:1
Test on staging devices
2
Monitor for issues
3
Roll out to production
Once verified, update production devices in batches.
Version Compatibility
CLI and Runtime Versions
The m87 CLI and runtime are designed to be compatible across versions, but it’s recommended to keep them in sync:- Recommended: CLI and runtime on the same version
- Supported: CLI up to 2 minor versions ahead of runtime
- Not recommended: Runtime newer than CLI
Checking Versions
Local CLI version:Rollback
If an update causes issues, you can rollback to a previous version:1
Download previous release
Visit releases page and download a specific version:
2
Replace the binary
3
Restart runtime if needed
Troubleshooting Updates
Update command fails
Update command fails
Problem:
m87 update returns an error.Solutions:- Check network connectivity:
curl -I https://github.com - Verify write permissions to the installation directory
- Try manual update from GitHub releases
- Check disk space:
df -h
Runtime won't restart after update
Runtime won't restart after update
Problem: Runtime fails to start after updating.Solutions:If issues persist, see Troubleshooting guide.
Version shows as old after update
Version shows as old after update
Problem:
m87 --version still shows old version.Possible causes:- Multiple m87 binaries in PATH
- Shell cached the old binary location
Release Notifications
To stay informed about new releases:-
Watch the GitHub repository:
Visit github.com/make87/m87 and click “Watch” → “Custom” → “Releases” -
Check for updates periodically:
-
Subscribe to release RSS:
https://github.com/make87/m87/releases.atom
Major version updates may include breaking changes. Always review the release notes before updating production systems.