install go | zuhdi.org

Install Go /archive

Environment

  • Debian 9.7 x64
  • GVM 0.2.0
  • Go 1.12.5

Excerpt https://github.com/andrewkroh/gvm

Log 2019 / 05

1. Install GVM

root@athos:~# apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade

root@athos:~# apt-get -y --no-install-recommends install curl git

root@athos:~# mkdir -p /opt/gvm/bin/

curl -sSL -o /opt/gvm/bin/gvm \
  https://github.com/andrewkroh/gvm/releases/download/v0.2.0/gvm-linux-amd64

root@athos:~# curl -sSL -o /opt/gvm/bin/gvm \
>   https://github.com/andrewkroh/gvm/releases/download/v0.2.0/gvm-linux-amd64

root@athos:~# chmod +x /opt/gvm/bin/gvm

root@athos:~# /opt/gvm/bin/gvm --version
v0.2.0

2. Install Go

root@athos:~# /opt/gvm/bin/gvm init

root@athos:~# /opt/gvm/bin/gvm available | tail
(truncated)
1.12.4  (source)
1.12.5  (source)
tip     (source)

root@athos:~# eval "$(/opt/gvm/bin/gvm 1.12.5)"

root@athos:~# /opt/gvm/bin/gvm use 1.12.5
export GOROOT="/root/.gvm/versions/go1.12.5.linux.amd64"
export PATH="/root/.gvm/versions/go1.12.5.linux.amd64/bin:$PATH"

root@athos:~# go version
go version go1.12.5 linux/amd64

root@athos:~# exit

3. Configure Path

echo export GOROOT="/root/.gvm/versions/go1.12.5.linux.amd64" >> ~/.bashrc
echo export PATH="$PATH:/opt/gvm/bin:"\
"/root/.gvm/versions/go1.12.5.linux.amd64/bin" >> ~/.bashrc
source ~/.bashrc

root@athos:~# echo export GOROOT="/root/.gvm/versions/go1.12.5.linux.amd64" >> ~/.bashrc

root@athos:~# echo export PATH="$PATH:/opt/gvm/bin:"\
> "/root/.gvm/versions/go1.12.5.linux.amd64/bin" >> ~/.bashrc

root@athos:~# source ~/.bashrc

4. Hello, World!

cat <<EOF > example.go
package main

import "fmt"

func main() {
  fmt.Printf("Hello, World!\n")
}
EOF

root@athos:~# cat <<EOF > example.go
> package main
>
> import "fmt"
>
> func main() {
>   fmt.Printf("Hello, World!\n")
> }
> EOF

root@athos:~# go build example.go

root@athos:~# chmod +x example ; ./example
Hello, World!

Hugo. Malte Kiefer & Zuhdi Najib.