One command installs varyup (the toolchain manager) and the latest Vary toolchain.
Open PowerShell and run:
irm https://github.com/ccollicutt/vary/releases/latest/download/install.ps1 | iex
This will download varyup.exe to %LOCALAPPDATA%\vary\bin\, install the latest Vary toolchain, and install the vary.exe compiler shim.
Then add %LOCALAPPDATA%\vary\bin to your user PATH:
$path = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$env:LOCALAPPDATA\vary\bin;$path", "User")
Open a new terminal, then verify:
vary --version
You should see:
Vary vX-alpha.Y
| Parameter | Effect |
|---|---|
-SkipToolchain | Skip automatic toolchain install |
Environment variables VARY_HOME (default: %LOCALAPPDATA%\vary) and VARY_RELEASE_URL can override defaults.
If you prefer not to pipe to iex, you can install manually:
$varyBin = "$env:LOCALAPPDATA\vary\bin"
mkdir $varyBin -ErrorAction SilentlyContinue
Invoke-WebRequest "https://github.com/ccollicutt/vary/releases/latest/download/varyup-windows-x64.exe" -OutFile "$varyBin\varyup.exe"
$sums = (Invoke-WebRequest "https://github.com/ccollicutt/vary/releases/latest/download/SHA256SUMS" -UseBasicParsing).Content
$expected = (($sums -split "`n") | Where-Object { $_ -match "varyup-windows-x64.exe$" }) -split "\s+" | Select-Object -First 1
$actual = (Get-FileHash "$varyBin\varyup.exe" -Algorithm SHA256).Hash.ToLower()
if ($actual -ne $expected) { Write-Error "Checksum mismatch! Expected $expected, got $actual" }
else { Write-Host "Checksum verified" }
If the check fails, delete the binary and retry the download.
$varyBin = "$env:LOCALAPPDATA\vary\bin"
$path = [Environment]::GetEnvironmentVariable("Path", "User")
if ($path -notlike "*$varyBin*") {
[Environment]::SetEnvironmentVariable("Path", "$path;$varyBin", "User")
$env:Path += ";$varyBin"
}
Or add %LOCALAPPDATA%\vary\bin through Settings > System > About > Advanced system settings > Environment Variables > User Path.
Open a new terminal and install a toolchain:
varyup toolchain install latest
List available versions:
varyup toolchain list-available
Install a specific version:
varyup toolchain install <version>
Short aliases are available:
varyup tc la # list-available
varyup tc i # install
Run varyup with no arguments to see all commands and aliases.
Each toolchain bundles the Vary VS Code extension. Install it with:
varyup vscode install
See VS Code for full extension documentation.
| Action | Link |
|---|---|
| Manage versions, update, pin per-project | varyup |
| Write your first program | Getting Started |
Run vary test on examples | Testing |
Run vary mutate on examples | Mutation testing |