Установка Go/Golang в Unix/Linux

Установка Go/Golan в Unix/Linux

Go (часто также Golang) — компилируемый многопоточный язык программирования, разработанный внутри компании Google. Первоначальная разработка Go началась в сентябре 2007 года, а его непосредственным проектированием занимались Роберт Гризмер, Роб Пайк и Кен Томпсон, занимавшиеся до этого проектом разработки операционной системы Inferno. Официально язык был представлен в ноябре 2009 года. На данный момент его поддержка осуществляется для операционных систем FreeBSD, OpenBSD, Linux, Mac OS X, начиная с версии 1.3 в язык Go включена экспериментальная поддержка DragonFly BSD, Plan 9 и Solaris, начиная с версии 1.4 — поддержка платформы Android.

Установка Go/Golang в Unix/Linux

Приведу примеры установок на несколько Unix/Linux ОС.

Установка Go/Golang на Linux

Перейдем в папку и скачаем архив:

$ cd /usr/local/src && wget --no-check-certificate https://dl.google.com/go/go1.10.linux-amd64.tar.gz

PS: На момент написания статьи, я использовал самую новую версию ПО.

Выполняем распаковку:

# tar xfvz go*.linux-amd64.tar.gz -C /usr/local/

Установка Go/Golang на Mac OS X

Перейдем в папку и скачаем архив:

$ cd /usr/local/src && wget --no-check-certificate  https://dl.google.com/go/go1.10.darwin-amd64.pkg

Устанавливаем:

$ sudo installer -pkg go1.10.darwin-amd64.pkg -target /

Вот статья как установить .DMG в Mac OS X:

Установка dmg пакетов через CLI (командную строку) в MacOS X

Установка Go/Golang на др Unix/Linux ОС

  1. Можно использовать doker

Установка Go/Golang с исходного кода

Скачиваем архив:

$ wget https://storage.googleapis.com/golang/go1.10.1.linux-armv6l.tar.gz

Выполняем расспаковку:

# tar -C /usr/local -xvf go1.10.1.linux-armv6l.tar.gz

Прописываем PATH:

$ cat >> ~/.bashrc << 'EOF'
 export GOPATH=$HOME/go
 export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
 EOF

Обновляем его:

$ source ~/.bashrc

Установка Go/Golang на Raspberry Pi

Команда для установки:

# apt install golang

Настройка Go/Golang в Unix/Linux

Затем в домашнем каталоге пользователя создайте рабочую папку для проектов Go с тремя дочерними каталогами, bin, src и pkg. Каталог bin будет содержать исполняемые программы, скомпилированные из файлов, читаемых человеком, в каталоге src. В каталоге pkg хранятся объекты пакета, которые являются многоразовыми кодами, совместно используемыми между программами:

$ mkdir -p ~/Projects/GO/{bin,pkg,src}

Почти все готово к использованию.

Чтобы запускать Go (как и любую другую команду), нужно добавить ее место установки в переменную $PATH. Go был установлен в системном каталоге, поэтому мы будем устанавливать глобальную переменную среды:

# vim  /etc/profile.d/path.sh

и прописываем в него:

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

PS: Можно тоже самое сделать в ~/.bash_profile файле. Кому как удобно!

Идем делаьше, стоит добавить пути, для этого открываем:

# vim ~/.bash_profile

И вставляем:

[...] 
export GOPATH="$HOME/Projects/GO"
#export GOBIN="$HOME/Projects/GO/bin"
export GOBIN="$GOPATH/bin"
export GOROOT="/usr/local/go"
export PATH="$PATH:$HOME/bin:/usr/local/bin:/usr/local/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/local/go/bin:/sbin:/bin:/opt/local/bin:/opt/local/sbin:$GOBIN"
[...]

Применяем:

# . ~/.bash_profile

Или:

# source ~/.bash_profile

Вот и вся настройка.

Использование Go/Golang в Unix/Linux

Для проверки версии ПО, выполните:

$ go version

Так же, проверим — все ли переменные среды (ENV) определены, используя следующую команду:

$ go env

На моем mac OS X, вот какой вывод:

GOARCH="amd64"
GOBIN="/Users/captain/Projects/GO/bin"
GOCACHE="/Users/captain/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/captain/Projects/GO/src"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
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 -fmessage-length=0 -fdebug-prefix-map=/var/folders/9s/_8tkgh_x58b4r9fgbll6z3sm0000gn/T/go-build577665108=/tmp/go-build -gno-record-gcc-switches -fno-common"

Пришим простую программу, — конечно же — хеллоу ворлд. Открываем:

$ vim ~/Projects/GO/src/hello.go

В файл прописываем:

package main

import "fmt"

func main() {
    fmt.Printf("Hello, World!\n")
}

Запускаем писанину вот так:

$ go install $GOPATH/hello.go

Скомпилированная тулза появится в «bin» папке вашего проекта. Запустим его:

$ $GOBIN/hello

Получим:

Hello, World!

Вот и все, статья «Установка GO в Unix/Linux» завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.