Uygulama

Linux’ta Go Dili Nasıl Kurulur

Bu kılavuz, Go Programlama dilinin ne olduğunu ve Linux’ta Go dilinin nasıl kurulacağını ve son olarak basit bir örnekle Golang’da bir test programının nasıl oluşturulacağını açıklamaktadır.

Go Dili Nedir?

GoLang olarak da bilinen Go, Google’da Robert Griesemer, Rob Pike ve Ken Thompson tarafından 2007 yılında geliştirilen açık kaynaklı bir programlama dilidir.

Go dili, 10 Kasım 2009’da halka açık bir açık kaynak projesi haline geldi. Go dili, Google’ın bazı üretim sunucularının yanı sıra Dropbox, CoreOS, CloudFlare, Docker, Soundcloud, Uber ve daha birçok şirket tarafından aktif olarak kullanılıyor.

Şimdi devam edelim ve Golang’ı kurmanın ve Linux’ta Go programlama dilini yapılandırmanın iki yolunu görelim.

Linux’ta Go Language’i kurun

Yukarıda belirtildiği gibi, Golang’ı dağıtımınızın varsayılan paket yöneticisini kullanarak kurabilir veya Golang’ı kaynaktan derleyip kurabiliriz. İkisini de göreceğiz.

1. Paket Yöneticilerini kullanarak Golang’ı kurun

Go dili, çoğu modern Linux dağıtımının varsayılan depolarında bulunur.

Golang’ı Alpine Linux’a yüklemek için şunu çalıştırın:

$ sudo apk add go

Arch Linux’ta ve EndeavourOS ve Manjaro Linux gibi değişkenlerde:

$ sudo pacman -S go

Fedora, RHEL gibi RPM tabanlı sistemlerde ve CentOS, AlmaLinux ve Rocky Linux gibi klonlarında şunu çalıştırın:

$ sudo dnf install golang

Daha eski RHEL sistemlerinde, dnf yerine yum kullanın:

$ sudo yum install golang

Debian, Ubuntu, Linux Mint ve Pop OS gibi DEB tabanlı sistemlerde Go dilini şu komutu kullanarak kurabilirsiniz:

$ sudo apt install golang

SUSE/openSUSE’de:

$ sudo zypper install golang

Kurulduktan sonra, şu komutu kullanarak Golang sürümünü kontrol edin:

$ go version

Örnek çıktı:

go version go1.18.1 linux/amd64

1.1. Kurulumu Test Edelim

merhaba.go adlı bir dosya oluşturun:

$ vi hello.go

İçine aşağıdaki kodu ekleyin:

package main

import "fmt"

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

Dosyayı kaydedin ve kapatın.

Şimdi, komutu kullanarak kodu çalıştırın:

$ go run hello.go 

Örnek çıktı:

hello, world

2. Golang’ı Kaynaktan Yükleyin

Go, bazı Linux dağıtımlarının varsayılan depolarında mevcuttur. Ancak, varsayılan depolardaki Go dili sürümü biraz eski olabilir. Bu nedenle, tarball’ı resmi web sitesinden indirerek en son sürümü kullanmanız ve aşağıda açıklandığı gibi manuel olarak kurmanız her zaman önerilir.

Aşağıdakiler Ubuntu 16.04 ve Ubuntu 22.04 sürümlerinde test edilmiştir. Ancak, bu adımlar diğer Linux dağıtımları için aynıdır.

En son Golang sürümünü buradan indirin.

$ wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz

Ardından, aşağıda gösterildiği gibi indirilen dosyanın bütünlüğünü kontrol edin.

$ sha256sum go1.19.5.linux-amd64.tar.gz

Örnek çıktı:

36519702ae2fd573c9869461990ae550c8c0d955cd28d2827a6b159fda81ff95  go1.19.5.linux-amd64.tar.gz

Lütfen yukarıda görüntülenen SHA256 Sağlama Toplamı değerinin indirme bağlantısıyla sağlanan değerle eşleşmesi gerektiğini unutmayın. Eşleşmiyorsa, yeni tarball’ı indirin ve devam edin.

İndirilen tarball’ı şu komutu kullanarak çıkarın:

$ sudo tar -C /usr/local -xvzf go1.19.5.linux-amd64.tar.gz

Bu komut, tarball’ı /usr/local dizinine çıkarır. Burada -c bayrağı hedef dizini belirtir.

2.1. Go Dilini Yapılandırma

Şimdi, Kullanıcınızın profil dosyasında Go dilinin yürütülebilir yolunu ayarlamamız gerekiyor.

Bunu yapmak için kullanıcı profili dosyanızı düzenleyin:

$ vi ~/.profile

Aşağıdaki satırı ekleyin:

export PATH=$PATH:/usr/local/go/bin

Sistem çapında bir kurulum için yukarıdaki satırı /etc/profile dosyasına ekleyin.

Dosyayı kaydetmek ve kapatmak için :wq yazın.

Ardından, Go dili yapılarını kaydedeceğimiz Go dili için kurulum çalışma alanı.

2.2. Çalışma Alanı Dizini Oluşturma

Çalışma alanı, kökünde üç dizin bulunan bir dizin hiyerarşisidir:

  • src Go kaynak dosyalarını içerir,
  • pkg paket nesneleri içerir,
  • ve bin yürütülebilir komutlar içerir.

Komutu kullanarak Go dili çalışma alanı için yukarıdaki dizin hiyerarşisini oluşturun:

$ mkdir -p $HOME/go_projects/{src,pkg,bin}

Burada, $HOME/go_projects, Go’nun dosyalarını oluşturacağı dizindir.

Ardından, Go’yu yeni çalışma alanına yönlendirmemiz gerekiyor.

Bunu yapmak için ~/.profile dosyasını düzenleyin:

$ sudo vi ~/.profile

Yeni çalışma alanı dizinine Go ‘yu işaret etmek için aşağıdaki satırları ekleyin.

export GOPATH="$HOME/go_projects"
export GOBIN="$GOPATH/bin"

Go dili, varsayılan konumdan (yani /usr/local/) başka bir konuma kuruluysa, ~/.profile dosyasında kurulum yolunu (GOROOT) belirtmeniz gerekir. Örneğin, HOME dizininize go lang yüklediyseniz, kullanıcı profili dosyasına aşağıdaki satırları eklemeniz gerekecek.

export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin

Golang’ı paket yöneticilerini kullanarak kurduysanız, kurulum yolunun /usr/lib/go veya /usr/lib/golang olacağını lütfen unutmayın. GOROOT’ta doğru yol değerini güncellemeniz gerekir.

Uygun değerleri belirledikten sonra, Go lang ortam değerlerini güncellemek için aşağıdaki komutu çalıştırın.

$ source ~/.profile

Sistem genelinde yükleme yaptıysanız, bunun yerine şu komutu çalıştırın:

$ source /etc/profile

2.3. Golang Sürümünü Kontrol Edin

Şimdi, Go dilini düzgün bir şekilde kurup yapılandırmadığınızı doğrulamak için aşağıdaki komutları çalıştırın.

Yüklü sürümü kontrol edelim:

$ go version

Örnek çıktı:

go version go1.19.5 linux/amd64

Go lang ortam bilgilerini görüntülemek için şunu çalıştırın:

$ go env

Örnek çıktı:

GO111MODULE=""
GOARCH="amd64"
GOBIN="/home/ostechnix/go_projects/bin"
GOCACHE="/home/ostechnix/.cache/go-build"
GOENV="/home/ostechnix/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/ostechnix/go_projects/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/ostechnix/go_projects"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19.5"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build350461959=/tmp/go-build -gno-record-gcc-switches"

Yukarıdaki gibi bir çıktı görürseniz, tebrikler! Go dili kullanıma hazırdır. Go programlarınızı kodlamaya başlayabilirsiniz.

2.4. Go kullanarak Basit bir ‘merhaba dünya’ Programı oluşturun

Artık Go dilini nasıl kuracağımızı, yapılandıracağımızı ve güncelleyeceğimizi biliyoruz. Devam edelim ve basit bir ‘merhaba dünya’ programı oluşturalım.

Programınızın kaynak kodunu saklamak için ayrı bir dizin oluşturun. Aşağıdaki komut, ‘merhaba dünya’ program kaynak kodunu saklamak için bir dizin oluşturur.

$ mkdir $HOME/go_projects/src
$ mkdir $HOME/go_projects/src/hello

Hello dizini içinde hello.go adlı bir dosya oluşturun:

$ vi $HOME/go_projects/src/hello/hello.go

Aşağıdaki satırları ekleyin:

package main

import "fmt"

func main() {
 fmt.Println("Hello, World")
}

Dosyayı kaydedip kapatın. Ardından, ‘merhaba dünya’ programını derlemek için aşağıdaki komutu çalıştırın:

$ go install $GOPATH/src/hello/hello.go

Son olarak, şu komutu kullanarak ‘hello world’ programını çalıştırın:

$ $GOBIN/hello

Örnek çıktı:

Hello, World
Run Hello World Program in Golang
Run Hello World Program in Golang

Tebrikler! Az önce Go dilini kullanarak örnek bir program oluşturdunuz.

Golang’ı güncelleme

Go’yu paket yöneticisini kullanarak yüklediyseniz, sisteminizi güncellemeniz yeterlidir. Depolarda en son sürüm varsa, Golang otomatik olarak güncellenecektir.

Golang’ı kaynaktan yüklediyseniz, talimatları izleyin.

İlk olarak, mevcut sürümü kaldırın.

Golang’ı kaldırmak için /usr/local/go dizinini aşağıdaki komutu kullanarak silin:

$ sudo rm -rf /usr/local/go

Yukarıdaki “Golang’ı Kaynaktan Kur” bölümünde belirtildiği gibi yeni sürümü indirin ve kurun.

$ wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz

Tar dosyasını indirdiğiniz konuma gidin ve arşiv dosyasını $PATH’nize çıkarın:

$ sudo tar -C /usr/local -xvzf go1.19.5.linux-amd64.tar.gz

PATH dosyanızın /usr/local/go/bin içerdiğinden emin olun.

$ echo $PATH | grep "/usr/local/go/bin"

Go Dilini Kaldırma

Artık Go dilini istemiyorsanız, go dizinini yani /usr/local/go’yu kaldırarak Golang’ı kaldırabilirsiniz.

$ rm -rf /usr/local/go

ENTER tuşuna basmadan önce yolu ikiye katlayın.

Golang’ı paket yöneticilerini kullanarak yüklediyseniz, Golang’ı kaldırmak için ilgili kaldırma komutunu kullanabilirsiniz. Örneğin, Debian tabanlı sistemlerde Go programlama dilini kaldırmak için aşağıdaki komutu çalıştırın:

$ sudo apt remove golang

Ayrıca, çalışma alanı dizinlerini de silin.

Yazının orijinalini buradan okuyabilirsiniz.