
Установка 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 ОС
- Можно использовать 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» завершена.