Skip to docs content

Installation

The public installer downloads a prebuilt native SCPM binary. It does not build from source and does not require Cargo.

Shell Installer

curl -fsSL https://scpm.dev/install.sh | sh

The script:

  • requires Node.js because SCPM manages Node projects;
  • detects operating system, CPU architecture, and Linux libc family;
  • downloads a compressed release binary from https://scpm.dev/releases/;
  • verifies the archive with SHA256SUMS;
  • installs scpm, scpmr, and scpmx.

The default install directory is ~/.local/bin.

curl -fsSL https://scpm.dev/install.sh | SCPM_INSTALL_DIR="$HOME/bin" sh

Make sure the install directory is on PATH:

export PATH="$HOME/.local/bin:$PATH"

Published Assets

The installer looks for compressed binaries named like this:

scpm-v1.17.1-linux-x64-gnu.gz
scpm-v1.17.1-linux-arm64-gnu.gz
scpm-v1.17.1-darwin-x64.gz
scpm-v1.17.1-darwin-arm64.gz

The current static release includes the Linux x64 GNU binary and a tarball for manual inspection. Other platform binaries should be added to the same release directory before advertising those targets.

Verify

scpm --version
scpm --help
scpmr --help
scpmx --help

Shortcut Binaries

The installer writes three commands:

scpm   # main command
scpmr  # shorthand for scpm run
scpmx  # shorthand for scpm dlx

scpmr build is equivalent to scpm run build, and scpmx cowsay hi is equivalent to scpm dlx cowsay hi.

Development Checkout

Contributors who are changing the CLI can still build from a local checkout:

cd cli
cargo install --path crates/scpm --locked

That path is for SCPM development. The public installer uses prebuilt binaries.