Quick Start Guide

Get up and running with govman in minutes!

What is govman?

govman (Go Version Manager) is a fast, lightweight tool for installing and managing multiple Go versions on your system. Switch between Go versions instantly for different projects.

Installation

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/justjundana/govman/main/scripts/install.sh | bash

Windows (PowerShell)

iex (iwr -useb https://raw.githubusercontent.com/justjundana/govman/main/scripts/install.ps1)

Windows (Command Prompt)

curl -fsSL https://raw.githubusercontent.com/justjundana/govman/main/scripts/install.bat -o install.bat && install.bat

First Steps

1. Initialize Shell Integration

After installation, set up your shell for automatic version switching:

govman init

Then restart your terminal or reload your shell configuration:

# Bash
source ~/.bashrc

# Zsh
source ~/.zshrc

# Fish
source ~/.config/fish/config.fish

# PowerShell
. $PROFILE

2. Install Your First Go Version

Install the latest stable Go version:

govman install latest

Or install a specific version:

govman install 1.21.5

3. Activate the Go Version

Set it as your default version:

govman use 1.21.5 --default

Or use it just for the current session:

govman use 1.21.5

4. Verify Installation

go version

Essential Commands

View Available Versions

See all Go versions available for installation:

govman list --remote

See installed versions:

govman list

Check Current Version

govman current

Install Multiple Versions

govman install 1.21.5 1.20.12 1.19.13

Project-Specific Versions

Create a .govman-version file in your project:

echo "1.21.5" > .govman-version

govman will automatically switch to this version when you enter the directory!

Clean Up Cache

Free up disk space by cleaning download cache:

govman clean

Common Workflows

Switching Between Projects

# Project A uses Go 1.21
cd ~/projects/project-a
govman use 1.21.5 --local

# Project B uses Go 1.20
cd ~/projects/project-b
govman use 1.20.12 --local

# Now it auto-switches!
cd ~/projects/project-a
go version  # Shows 1.21.5

cd ~/projects/project-b
go version  # Shows 1.20.12

Testing with Multiple Versions

# Install multiple versions
govman install 1.21.5 1.20.12 1.19.13

# Test your code
govman use 1.21.5
go test ./...

govman use 1.20.12
go test ./...

govman use 1.19.13
go test ./...

Keeping govman Updated

# Check for updates
govman selfupdate --check

# Update to latest version
govman selfupdate

Quick Reference Card

CommandDescription
govman install <version>Install a Go version
govman use <version>Switch to a Go version
govman use <version> --defaultSet as system default
govman use <version> --localSet for current project
govman listShow installed versions
govman list --remoteShow available versions
govman currentShow active version
govman info <version>Show version details
govman uninstall <version>Remove a version
govman cleanClean download cache
govman initSetup shell integration
govman selfupdateUpdate govman itself

Next Steps

Get Help

# General help
govman --help

# Command-specific help
govman install --help
govman use --help

Features at a Glance

āœ… Lightning-fast installation and switching
āœ… Zero configuration - works out of the box
āœ… Project-specific versions with .govman-version
āœ… No admin/sudo required
āœ… Intelligent caching with offline mode
āœ… Parallel downloads with resume support
āœ… Cross-platform - Windows, macOS, Linux, ARM
āœ… Built-in cleanup tools


Happy Go development! šŸš€