Installation
Supported platforms
- macOS: amd64, arm64
- Linux: amd64, arm64
- Windows: amd64, arm64
Release asset names are stable:
small-vX.Y.Z-darwin-amd64.tar.gzsmall-vX.Y.Z-darwin-arm64.tar.gzsmall-vX.Y.Z-linux-amd64.tar.gzsmall-vX.Y.Z-linux-arm64.tar.gzchecksums.txt
Option 1: curl installer (recommended)
Install latest:
bash
curl -fsSL https://smallprotocol.dev/install.sh | bash
Install a specific version:
bash
curl -fsSL https://smallprotocol.dev/install.sh | bash -s -- --version v1.0.2
Install behavior:
- Downloads release metadata from GitHub API
- Downloads the platform archive and
checksums.txt - No compilation required. Pre-built binaries are downloaded and checksum verified.
- Verifies SHA256 before extraction and install
- Installs to
~/.local/bin/smallby default (no sudo)
Optional flags:
--system: install to/usr/local/bin/small(uses sudo if needed)--dir PATH: custom install directory--release-json PATH: use local release metadata (testing only)--dry-run: print resolved release/install details only
Option 2: npm global install
bash
npm i -g @small-protocol/small
small version
npm install behavior:
- Maps npm version
X.Y.Zto release tagvX.Y.Z - Fetches tagged release metadata from GitHub API
- Downloads platform archive and
checksums.txt - No compilation required. Pre-built binaries are downloaded and checksum verified.
- Verifies SHA256 before extracting
smallinto the packagevendor/directory - Exposes
smallon your shell PATH via your npm global bin directory
If the binary is missing after install:
bash
npm rebuild @small-protocol/small
PATH notes
- curl default path:
~/.local/bin/small - curl system path (
--system):/usr/local/bin/small - npm global path:
$(npm bin -g)(or platform-equivalent npm global bin directory)
Uninstall
curl default install:
bash
rm -f ~/.local/bin/small
curl system install:
bash
sudo rm -f /usr/local/bin/small
npm global install:
bash
npm uninstall -g @small-protocol/small