pvm

Installation

Install PVM via the quick-install script, build from source, and enable shell integration.

PVM ships as a single self-contained binary. The recommended path is the one-liner install script; building from source requires only a Rust toolchain.

Downloads the latest prebuilt binary for your platform, verifies its SHA256 checksum, and installs to ~/.pvm.

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

The binary is installed to ~/.local/bin/pvm and state lives in ~/.pvm/. Override paths with PVM_BIN_DIR / PVM_HOME if needed.

If ~/.local/bin isn't already on your PATH, also add:

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

Non-interactive install (skip prompts, use defaults):

curl -fsSL https://pvm.sungjin.dev/install.sh | bash -s -- --yes

Pin a specific version:

curl -fsSL https://pvm.sungjin.dev/install.sh | PVM_VERSION=v0.1.0 bash

Shell integration

Enable activate/deactivate, completions, and legacy aliases by adding the init hook to your shell rc:

# zsh
echo 'eval "$(pvm init zsh)"' >> ~/.zshrc && eval "$(pvm init zsh)"

# bash
echo 'eval "$(pvm init bash)"' >> ~/.bashrc && eval "$(pvm init bash)"

Verify installation

pvm doctor

Build from source

Requires a Rust toolchain (edition 2021).

git clone https://github.com/taintlesscupcake/pvm.git
cd pvm
cargo build --release
./scripts/install.sh
eval "$(pvm init zsh)"   # or: pvm init bash

Supported platforms

  • macOS — Apple Silicon (aarch64) and Intel (x86_64)
  • Linux — x86_64 and aarch64

On this page