پێڕست : ماڵەوە  »  فێرکاری   »   چۆنیەتی دامەزراندنی زمانی گۆ (GO) لە لینوکس

Go، کە بە زمانی GoLangـیش  دەیناسن.زمانێکی سەرچاوەکراوەی بەرنامەدارێشتنە کە لە لایەن گەشەپێدەرانی گوگڵ بە ناوەکانی Robert Griesemer, Rob Pike,وە Ken Thompson  لە ساڵی 2007.ز درووستکرا. ئەم زمانە لە  ساڵێ 2009 بە شێوازی سەرچاوەکراوە بۆ گشتی بڵاو کرا، زۆر یەک لە بەرهەمەکانی ڕاژەی گووگڵ لە سەر ئەم زمانە چالاک بوون، هەر وا کۆمپانیاکانی Dropbox, CoreOS, CloudFlare, Docker, Soundcloud, Uber وە زۆر تر سوودیان لێ بینیوە.

لەم فێرکارییە چۆنیەتی دامەزراندنی زمانی گۆ لە سەر لینوکس باس دەکەین.

دامەزراندی زمانی گۆ لە لینوکس

1- دامەزراندن لە رێگای بەرێوەبەری پاکەتەکان :

زمانی گۆ لە سەر کانگاکانی لینوکس لە دابەسکراوە پێسکەوتووەکان بوونی هەیە:

  • بۆ بنەمای پاکەتی RPM وەک RHEL, CentOS, Fedora بەم فەرمانە:

sudo yum install golang

یان

sudo dnf install golang

  • بۆ سیستەمەکانی بنەمای DEB وەک Debian, Ubuntu, Linux Mint بەم فەرمانە:

sudo apt-get install golang

هەروا دەتوانن لە رێگای گەڕان بە شوێن ئامرازەکانی زمانی گۆ بگەرێن لە

  • سیستەمەکانی RPM بەم فەرمانە

sudo yum search golang

  • سیستەمەکانی DEB بەم فەرمانە

sudo apt-cache search golang

2- دامەزراندن لە رێگای سەرچاوە(source)

وشانی زمانی گۆ لە کانگاکان دەتوانێت وشانێکی کۆنە بێت واتە وشانەکەی لەخوار بێت و هێشتا کانگا بەرۆژی نەکردبێت. گەر ئێوە بێتان خۆشە کە وشانی دوایین کە دەرچووە دایمەزرێنن دەبێت دەبێ سەردانی ماڵپەڕی فەرمی بکەن.بۆ وینە لەم هێڵانە من تاوویم کردووەتەوە بۆ  وشانی ئوبونتوی ڕاژەی 16.04 LTS server.ئەم قۆناغانە لە دابەسکراوەکانی دیکەی لینوکس هەر وەک یەکن :

1-2-داگرتنی دوایین وشان لێرە یان لە ترمیناڵ بەم فەرمانە :

wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz

تەواو ئەم وشانە پاش داگرتن بەم جۆرەیە:

sha256sum go1.8.linux-amd64.tar.gz

دەرهاتی ئەم فەرمانە وا دەبێت :

53ab94104ee3923e228a2cb2116e5e462ad3ebaeea06ff04463479d7f12d27ca go1.8.linux-amd64.tar.gz

ئاگادار بە کە نرخی SHA256 لە ناوی فایلەکەی سەرەوە دەبێت بەم جۆرە بێت.گەر وا نییە وشانی دیکە دابگرن

2-2-ئێستا پەساندنی ئەو فایلە کە دامانگرتووە بەم فەرمانە:

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

فەرمانەکەی خوارەوە دەچێتەمەسیری usr/local/ بۆ پەساندن. نیشانەی C- هێمای دایرێکتۆری ئێمەیە.

پەیکەربەستنەوەی گۆ یان کانفیگ(Configure):

سەرەتا دەبێ فایلی دەستپێکردنی زمانی گۆ بۆ  دایرێکتۆری بەکارهێنەر دابین بکەین.بۆ ئەم کارە ، پێویستمان بە دەستکاری پرۆفایلی بەکارهێنەرە :

sudo vi ~/.profile

ئینجا ئەم هێڵەی پێ زیاد دەکەین :

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

پاشکەوتی دەکین و دایدەخەین.

ئێستا ئەو شوێنە کە ئێمە دەچین سێ دایرێکتۆری تێدایە کە لە رەگ یان ریشەن .بەم جۆرە :

  • src بریتییە لە سەرچاوەی فایلەکان.
  • pkg بریتییە لە پاکەتی ئابجێکتەکان.
  • bin بریتییە لە فەرمانەکان بە توانایی جێبەجێکردن.

بۆ درووستکردنی دایرێکتۆرییەکانی سەرەوە دەبێت ئەم فەرمانەی خوارەوە بەکار بێنین :

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

لە فەرمانەکەی سەرەوە  HOME/go_projects$ ئەو شوێنەیە کە فایلەکانی بەرنامە درووستدەکرێن تێیدا.

بۆ شوینی ئیشکردنی نوێ  دەبێ ئەم فایلە profile./~ دەستکاری بکەین.بۆ ئەم کارە

sudo vi ~/.profile

ئەم فەرمانە شوێنێکی ئیسپیکردنی نوێ درووستدەکات :

“export GOPATH=”$HOME/go_projects
“export GOBIN=”$GOPATH/bin

گەر زمانی گۆ لە شوێنێکی دیکە بێجگە لە شوێنی فەرمی خۆی دامەزرا واتە(/usr/local/) ، ئێوە دەبێت مەسیری  (GOROOT)دامەزراندن لە فایلیprofile./~

بۆ وینە گەر ئێوە زمانی گۆ لە دایرێکتۆری HOME دامەزرێنن دەبێتهێڵەکانی خوارەوە لە لە پرۆفایلی بەکارهێنەری زمان زیاد بکەن :

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

ئاگادار بە کە بە شێوازی پاکەت زمانی گۆ دامەزرێنی مەسیرەکەت دەبێت بەمە  /usr/lib/go/ یا usr/lib/golang/ ، ئێوە دەبێت بەرۆژی بکەن مەسیری GOROOT.

بۆ ئەم بەڕۆژ کردنەوە دەبێت ئەم هێڵە بنووسن

source ~/.profile

ئێستا گەر ئێوە بە درووستی پەیکەرەکەتان درووستکردبێت یان کانفیگتان کردبێت بە فەرمانەکانی خوارەوە کردار دەکەین :

بۆ چاودێری وشانی زمانی گۆ :

go version

بەم جۆرە دەردەچێت واتە ئاکامی سەرەوە :

go version go1.8 linux/amd64

بۆ نیشاندانی ژینگە یان دەوروبەری زمانی گۆ بەم فەرمانە :

go env

دەرچووەکەی وایە :

GOARCH="amd64"
GOBIN="/home/sk/go_projects/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/sk/go_projects"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

 گەر دەرچووی فەرمانەکەت وەک وێنەی سەرەوەیە پیرۆز بێت بە سەرکەوتوویی زمانی گۆـت دامەزراند.


پاش دامەزراندنی زمانی گۆ دەبێت ئێستا پرۆژەیێکی سادەی ‘hello world’ بە زمانی گۆ بنووسین :

سەرەتا دەبێت دایرێکتۆرییێک بۆ پرۆژەکەمان درووست بکەین کە فایلی ‘hello world’تێدا پاشکەوت بێت.بۆ ئەم مەبەستە لە فەرمانەکەی خوارەوە سوود دەگرین :

mkdir $HOME/go_projects/src

mkdir $HOME/go_projects/src/hello

ئێستا فایلێک بە ناوی hello.go درووستدەکەین:

vi go_projects/src/hello/hello.go

ئەم فەرمانانەی پێ زیاد دەکین :

package main

import "fmt"

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

پاشکەوتی دەکەین ئەم فایلە دادەخین ئێستا بۆ وه‌رگێڕان(compile) لەم فەرمانە سوود دەگرین.

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

لە کۆتایی بەم فەرمانە فایلی ‘hello world’ ئیجرا دەکەین:

GOBIN/hello$

دەرچوونی ئەم فەرمانە بەم جۆرەیە

Hello, World


هەڤاڵ پیرۆز بێت. یەکەم بەرنامەت نوسی.بۆ یارمەتی فرەتر دەتوانیت ئەم فەرمانە بنووسیت لە کاتی کارکردن بەم زمانە :

go help

گەر گەرەکتە کە ئەم زمانە لە سەرسیستەمەکەت بسڕیتەوە تەنها برۆ ئەم مەسیری واتە : usr/local/go/ بسڕەوە .
بۆ زانیاری فرەتر سەردانی ئەم دوو بەستەرە بکە :

سەرچاوە