Pada artikel kali ini kita akan membahas cara meng-install golang (Google Go Language) di Linux, disini Linux yang penulis gunakan adalah :

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety

Download Golang

Sebelum kita meng-install golang kita harus mendownload aplikasi golang terlebih dahulu disini lalu klik pada bagian Linux dan jangan lupa pilih jenis bit komputer anda.

Note: Pada artikel ini ditulis versi stabil dari golang yaitu 1.7.4 dan kita akan menggunakan versi ini.

Download

Walaupun sebenarnya ada banyak versi yang di sediakan oleh golang termasuk unstable version, tapi lebih baik kita download yang stable version saja agar tidak ada masalah nantinya ketika kita bermain dengan golang.

ls -la
total 447412
drwxrwxr-x  3 idiot idiot      4096 Jan 15 00:18 .
drwxr-xr-x 63 idiot idiot      4096 Jan 15 00:31 ..
-rw-r--r--  1 idiot idiot  84021919 Jan  7 16:26 go1.7.4.linux-amd64.tar.gz
-rw-r--r--  1 idiot idiot  76419072 Jan 14 23:52 go1.7.4.windows-amd64.msi

Ekstrak file

Buka terminal lalu extract file hasil download tadi dan pindahkan hasil extract ke direktori /usr/local :

sudo tar zxvf go1.7.4.linux-amd64.tar.gz -C /usr/local

Export path go

untuk meng-eksport path lokasi bisa langsung dengan perintah export PATH=$PATH:/usr/local/go/bin di terminal atau bisa juga menaruh perintah tersebut di dalam file $HOME/.profile dan penulis sendiri menggunakan cara yang kedua :

echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.profile

Selesai

Jika langkah diatas dilakukan dengan benar maka go sudah terinstall di komputer kita, selanjutnya lihat versi go yang barusan kita install :

go version

// Output:
go version go1.7.4 linux/amd64

Workspace

Setelah Golang berhasil di-instal, ada hal yang perlu disiapkan sebelum bisa masuk ke sesi pembuatan aplikasi, yaitu setup workspace untuk proyek-proyek yang akan dibuat. Kita diharuskan mempunyai 3 folder didalam direktori workspace kita yaitu :

Workspace
├── bin
├── pkg
└── src

Struktur diatas adalah struktur standar workspace Golang jadi pastikan penamaannya harus sama, lokasi folder yang dijadikan workspace boleh dimana saja dan lokasi tersebut harus di daftarkan kedalam PATH Variable dengan nama GOPATH - src lokasi dimana proyek golang disimpan - pkg berisi file hasil kompilasi - bin berisi file executable hasil build

Daftarkan GOPATH kedalam PATH Variable :

Note: Ganti < workspace > sesuai dengan direktori workspace golang di komputer anda.

echo "export GOPATH=\"\$HOME/< workspace >\"" >> ~/.profile

Setelah itu cek apakah GOPATH sudah terdaftar atau belum


// Output:
/home/idiot/Workspace/golang

Tip: Jika $GOPATH tidak dikenali cobalah untuk menutup lalu membuka kembali terminal anda

tree -L 2 $GOPATH

// Output:
/home/idiot/Workspace/golang
├── bin
│   ├── gocode
│   ├── godep
│   ├── gogetdoc
│   ├── goimports
│   ├── golint
│   ├── gometalinter
│   ├── gotype
├── pkg
│   └── linux_amd64
└── src
    ├── github.com
    ├── golang.org
    └── gopkg.in

7 directories, 28 files

Best Practice

Golang memang sudah terinstall tapi envirounment nya masih belum friendly, berdasarkan rekomendasi dari sini dan best practice nya disini maka kita harus membuat PATH lagi untuk workspace kita :

echo "export GOROOT=\"/usr/local/go\"" >> ~/.profile
echo "export PATH=\"\$GOPATH/bin:\$(go env GOROOT)/bin:\$PATH\"" >> ~/.profile

Tip: Langkah diatas kita lalukan agar easily accessible ketika kita hendak mengakses file binari yang kita install dengan perintah go install pada proyek kita.

In the end, kumpulan PATH yang kita taruh pada file .profile adalah sebagai berikut : Profile File

Setelah itu mari kita lihat go envirounment yang sudah kita buat :

go env

// Output:
GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/idiot/Workspace/golang"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build688917244=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"go env

Menguji Instalasi Go

Setelah semua nya selesai mari kita uji instalasi go dengan membuat program sederhana :

mkdir -p $GOPATH/src/github.com/imamdigmi/hello
touch $GOPATH/src/github.com/imamdigmi/hello/main.go

Isikan file main.go dengan :

package main
import "fmt"
func main() {
    fmt.Println("Halo Golang <3!")
}

Jalankan program yang kita buat tadi :

go run main.go

Test Installation

Oke sampai disini dulu, semoga bermanfaat