Managing multiple Go versions in the local environment

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • asdf

    Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

  • you could also look at https://asdf-vm.com/ a cli tool to manage multiple runtime versions on one system

  • gimme

    Install go, yay!

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • bob

    Bob is a high-level build tool for multi-language projects. (by benchkram)

  • I use https://bob.build to switch between go versions in my build graph. It's like... ... build: cmd: go build dependencies: [go_1_18]

  • goenv

    :blue_car: Like pyenv and rbenv, but for Go.

  • I use GoEnv. I hate that I have to do it, but I have valid (if annoying) reasons. I'd rather just keep the most recent version installed.

  • GVM

    Go Version Manager

  • I use the Go Version Manager. It is really easy to use and you can manage as many versions as you want: https://github.com/moovweb/gvm

  • asdf-golang

    Go plugin for the asdf version manager

  • I use https://github.com/asdf-vm/asdf with the golang plugin https://github.com/kennyp/asdf-golang

  • g

    Simple go version manager, gluten-free

  • If you are using a Unix based system you can use: https://github.com/stefanmaric/g I use it daily and works like charm, I only had some problems using `godoc` but it is solveble if you set the GOPATH to the go location and not the g installation directory

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • direnv

    unclutter your .profile

  • Yeah! I combine gimme with direnv , then entering a module root with a proper .envrc automatically sets the golang version in the shell, and also installs the version if its not present yet.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts