Managing Go Installations
Installing Go on Linux
curl -L -O https://go.dev/dl/go1.26.3.linux-amd64.tar.gz
mkdir -p $HOME/sdk
sudo tar -C $HOME/sdk -xzf go1.26.3.linux-amd64.tar.gz
# strip leading tabs, don't expand variables, and don't interpret backslashes
cat <<-'EOF' >> $HOME/.bashrc.d/go.sh
# Go environment
if ! ["$PATH" =~ "$HOME/sdk/go/bin"](<../../"$PATH" =~ "$HOME/sdk/go/bin".md>); then
PATH="$HOME/sdk/go/bin:$PATH"
fi
export PATH
if ! ["$PATH" =~ "$HOME/go/bin"](<../../"$PATH" =~ "$HOME/go/bin".md>); then
PATH="$HOME/go/bin:$PATH"
fi
export PATH
EOF
Install Go versions
- Using CGO requires Development Tools to be installed on Fedora (and likely other distros as well)
- see Fedora Development Tools
go install golang.org/dl/go1.21.10@latest
$ go1.21.10 env
go1.21.10: not downloaded. Run 'go1.21.10 download' to install to ...
$ go1.21.10 download
Downloaded 0.0% ( 3124 / 73785140 bytes) ...
Downloaded 1.0% ( 720896 / 73785140 bytes) ...
Downloaded 24.6% (18152768 / 73785140 bytes) ...
Downloaded 47.3% (34914048 / 73785140 bytes) ...
Downloaded 70.7% (52166272 / 73785140 bytes) ...
Downloaded 96.7% (71384544 / 73785140 bytes) ...
Downloaded 100.0% (73785140 / 73785140 bytes)
Unpacking ...
Success. You may now run 'go1.21.10'
$ go1.21.10 env
set GO111MODULE=
...
Sources