/ OpenSource

Instalasi Google Go di Linux (dan *nix lainnya)

Latar belakang penulisan posting ini adalah penggunaan bahasa pemrograman Go (bikinan Google) untuk mata kuliah Sistem Terdistribusi. Berikut adalah langkah-langkahnya:

  1. Buka sebuah terminal emulator (GNOME Terminal pada GNOME atau Konsole pada KDE, i hope you know where is the location in the menu)
  2. Instal paket bernama mercurial, dengan mengetikkan sudo apt-get install mercurial untuk distribusi berbasis Debian (seperti Ubuntu dan lain-lain) atau su -c 'yum install mercurial' untuk distribusi berbasis Red Hat (seperti Fedora, CentOS, dan lain-lain)
  3. Tambahkan baris berikut di file .bash_profile menggunakan editor favoritmu:
export GOOS="linux" 
# OS lain yang didukung adalah "freebsd", "darwin" (MacOS X)
export GOARCH="386" 
# ganti dengan amd64 bila menggunakan OS 64bit 
export GOROOT=$HOME/go 
export PATH=$PATH:$GOROOT/bin

kemudian ketik source .bash_profile untuk menjalankan perubahan yang telah dibuat. [FYI: .bash_profile ini dijalankan ketika terminal dijalankan]

  1. Ketik perintah hg clone -r release https://go.googlecode.com/hg go di terminal untuk mengunduh source code Google Go dari repository Mercurial-nya.
  2. Jika ada tulisan abort: bla bla bla di output terminal, berarti ada kesalahan koneksi. Hal ini terjadi karena saya mengunduh di balik proxy kampus. Oleh karena itu, perlu diubah setting Mercurial-nya, dengan menambahkan baris berikut di /etc/mercurial/hgrc
[http_proxy] 
host=proxy.its.ac.id:8080
# ganti parameter user dan passwd dengan akun proxy-mu user=asdf@cs.its.ac.id passwd=asdf123!

kemudian jalankan lagi hg clone

  1. Jalankan perintah berikut di terminal:
cd go/src
./all.bash
  1. Tunggu hingga instalasi selesai. Di sini, skrip all.bash akan melakukan kompilasi dan tes terhadap compiler Google Go. Di laptop, testing gagal di library yang membutuhkan koneksi internet, karena (sepertinya :D) skrip ini tidak dapat mengambil parameter proxy yang sudah saya set dengan export

Demikian tahap-tahap instalasi Google Go. Untuk lebih detilnya bisa dilihat di sini