Skip to content

Installing the Binary

You can use various package managers to install the nsv binary. Take your pick.

Package Managers

Homebrew

To use Homebrew:

brew install purpleclay/tap/nsv

Apt

To install using the apt package manager:

echo 'deb [trusted=yes] https://fury.purpleclay.dev/apt/ /' \
  | sudo tee /etc/apt/sources.list.d/purpleclay.list
sudo apt update
sudo apt install -y nsv

You may need to install the ca-certificates package if you encounter trust issues with regard to the Gemfury certificate:

sudo apt update && sudo apt install -y ca-certificates

Yum

To install using the yum package manager:

echo '[purpleclay]
name=purpleclay
baseurl=https://fury.purpleclay.dev/yum/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/purpleclay.repo
sudo yum install -y nsv

Aur

To install from the aur using yay:

yay -S nsv-bin

Linux Packages

Download and manually install one of the .deb, .rpm or .apk packages from the Releases page.

sudo apt install nsv_*.deb
sudo yum localinstall nsv_*.rpm
sudo apk add --no-cache --allow-untrusted nsv_*.apk

Go Install

go install github.com/purpleclay/nsv@latest

Bash Script

To install the latest version using a script:

sh -c "$(curl https://raw.githubusercontent.com/purpleclay/nsv/main/scripts/install)"

Download a specific version using the -v flag. The script uses sudo by default but can be disabled through the --no-sudo flag. You can also provide a different installation directory from the default /usr/local/bin by using the -d flag:

sh -c "$(curl https://raw.githubusercontent.com/purpleclay/nsv/main/scripts/install)" \
  -- -v v0.3.0 --no-sudo -d ./bin

Manual download of binary

Head over to the Releases page on GitHub and download any release artefact. Unpack the nsv binary and add it to your PATH.

Verifying a binary with cosign

All binaries can be verified using the checksum file and cosign.

  1. Download the checksum file:
curl -sL https://github.com/purpleclay/nsv/releases/download/v0.3.0/checksums.txt -O
  1. Verify the signature of the file:
cosign verify-blob \
  --certificate-identity 'https://github.com/purpleclay/nsv/.github/workflows/release.yml@refs/tags/v0.3.0' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  --cert 'https://github.com/purpleclay/nsv/releases/download/v0.3.0/checksums.txt.pem' \
  --signature 'https://github.com/purpleclay/nsv/releases/download/v0.3.0/checksums.txt.sig' \
  checksums.txt
  1. Download any release artifact and verify its SHA256 signature matches the entry within the checksum file:
sha256sum --ignore-missing -c checksums.txt