Skip to content

Latest commit

 

History

History
92 lines (64 loc) · 2.08 KB

File metadata and controls

92 lines (64 loc) · 2.08 KB

Installation

Supported platforms

  • macOS: amd64, arm64
  • Linux: amd64, arm64
  • Windows: amd64, arm64

Release asset names are stable:

  • small-vX.Y.Z-darwin-amd64.tar.gz
  • small-vX.Y.Z-darwin-arm64.tar.gz
  • small-vX.Y.Z-linux-amd64.tar.gz
  • small-vX.Y.Z-linux-arm64.tar.gz
  • checksums.txt

Option 1: curl installer (recommended)

Install latest:

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

Optionally install a specific version:

curl -fsSL https://smallprotocol.dev/install.sh | bash -s -- --version vX.Y.Z

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/small by 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

npm i -g @small-protocol/small
small version

npm install behavior:

  • Maps npm version X.Y.Z to release tag vX.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 small into the package vendor/ directory
  • Exposes small on your shell PATH via your npm global bin directory

If the binary is missing after install:

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:

rm -f ~/.local/bin/small

curl system install:

sudo rm -f /usr/local/bin/small

npm global install:

npm uninstall -g @small-protocol/small