DigitalOcean – Linux (Ubuntu) Ortamında Go Kurulumu

Go programlama ile ilgili kısa bir giriş yazısı, ardından macOS ortamında Go kurulumu ve bu yazıda da Ubuntu Server (16.04) ortamında Go kurulumuyla ilk adımları atmış oluyoruz.

Golang

Linux (Ubuntu) Server’a Go Kurulumu

Yine kurulum için DigitalOcean üzerinde bir sunucu oluşturacak ve SSH bağlantısıyla sunucuya erişeceğim. Ardından paket yönetici üzerinden ilgili paketi indirerek kurulum işlemine devam edeceğim.

Önce sistem gereksinimlerine bir bakalım;

  • Linux sunucu (Ubuntu 16.04)
  • En az 1GB RAM
  • root kullanıcı erişimi (sudo ayrıcalığı)

Komut satırı üzerinden adım adım bağlantı sağlayıp yükleme işlemine geçelim.

ssh root@sunucu-ip-adresi
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install golang

apt-get dışında curl ve wget ile de yükleme işlemi gerçekleştirebilirsiniz.

Kurulum işleminin tamamlanmasının ardından son bir kontrol yapalım.

go version

Komut sonrasında sürüm bilgisi dönecektir. Ardından Go Path tanımlamalarını kabuğa eklememiz gerekmekte.

Sunucuda bash kullandığım için ona dair ayar dosyasını düzenleyeceğim.

mkdir $HOME/workspace/go
mkdir -p $HOME/workspace/go/{bin,src,pkg}
sudo nano ~/.profile
export GOROOT=/usr/lib/go-1.6
export GOPATH=$HOME/workspace/go
export GOBIN=$GOPATH/bin
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

Oluşturulan workspace/go ve $PATH yollarını kendi tercihlerinize göre ayarlayabilirsiniz. GOROOT ise indirme yönteminize ve sürüme göre farklılık gösterebilir. ls -la /usr/lib/go* ile ilgili olabilecek klasörleri görüntüleyebilirsiniz. Düzenlemenin ardından ayar dosyasını kaydedip çıkalıp ve değişiklikleri işleyelim.

source ~/.profile

Şimdi ilk komutumuzu yazabiliriz.

package main
import "fmt"
 
func main() {
    fmt.Printf("hello, world\n")
}

Nano go lang

test.go isimli dökümanımızı çalıştıralım.

go run test.go

Fonksiyon işlenerek hello, world metnini yazdıracaktır. Build etmek istersek şu kodu kullanmamız yeterli olacaktır.

go build test.go

Hepsi bu kadar.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir