Skip to content

Update Golang version

The below shell script is helpful to grab a specific Go version and update it locally.

To use it you can tweak the following variables:

  • VERSION
  • PLATFORM
#! /bin/bash
set -euf -o pipefail

# Download latest Golang release for AMD64
# https://golang.org/dl/

VERSION=1.16
PLATFORM=linux-amd64

# Download Go
cd `mktemp -d`
echo "Downloading Go version ${VERSION}..."
curl -sL -o go${VERSION}.${PLATFORM}.tar.gz https://golang.org/dl/go${VERSION}.${PLATFORM}.tar.gz

# Remove old Go
echo "Removing old Go version"
sudo rm -rf /usr/local/go

# Install new Go
sudo tar -C /usr/local -xzf go"${VERSION}".${PLATFORM}.tar.gz
echo "Creating the skeleton for your local users go directory..."
mkdir -p ~/go/{bin,pkg,src}
# echo "Setting up GOPATH"
# echo "export GOPATH=~/go" >> ~/.profile && source ~/.profile
# echo "Setting PATH to include golang binaries"
# echo "export PATH='$PATH':/usr/local/go/bin:$GOPATH/bin" >> ~/.profile && source ~/.profile

# Cleanup
rm go"${VERSION}".${PLATFORM}.tar.gz

First Time

If you're installing for the first time, you can uncomment this blob from the above script:

# echo "Setting up GOPATH"
# echo "export GOPATH=~/go" >> ~/.profile && source ~/.profile
# echo "Setting PATH to include golang binaries"
# echo "export PATH='$PATH':/usr/local/go/bin:$GOPATH/bin" >> ~/.profile && source ~/.profile

Mofified it from a gist I found here.