🐧 Как установить язык Go на Linux

GO на Linux

by itisgood

Это руководство показывает, что такое язык программирования Go, как установить язык Go в Linux и, наконец, как создать тестовую программу на Golang на простом примере.

Что такое язык Go?

Go, также известный как GoLang, – это язык программирования с открытым исходным кодом, разработанный в Google Робертом Гриземером, Робом Пайком и Кеном Томпсоном в 2007 году.

Язык Go стал публичным проектом с открытым исходным кодом 10 ноября 2009 года.

Какова функция Шебанг в Linux?

Язык Go активно используется в некоторых производственных серверах Google, а также другими компаниями, такими как Dropbox, CoreOS, CloudFlare, Docker, Soundcloud, Uber и многими другими.

Теперь давайте рассмотрим два способа установки Golang и настройки языка программирования Go в Linux.

Установка языка Go в Linux

Как было сказано выше, мы можем установить Golang либо с помощью стандартного менеджера пакетов вашего дистрибутива, либо скомпилировать и установить Golang из исходников.

Мы рассмотрим оба варианта.

🐍 Как создать игру “Змейка” на языке Python

1. Установка Golang с помощью менеджера пакетов

Язык Go доступен в репозиториях по умолчанию большинства современных дистрибутивов Linux.

Чтобы установить Golang в Alpine Linux, выполните:

$ sudo apk add go

На Arch Linux и таких вариантах, как EndeavourOS и Manjaro Linux:

$ sudo pacman -S go

На системах на базе RPM, таких как Fedora, RHEL и его клоны, такие как CentOS, AlmaLinux и Rocky Linux, работают:

$ sudo dnf install golang

В старых системах RHEL используйте yum вместо dnf:

$ sudo yum install golang

В системах на базе DEB, таких как Debian, Ubuntu, Linux Mint и Pop OS, вы можете установить язык Go с помощью команды:

$ sudo apt install golang

На SUSE/openSUSE:

$ sudo zypper install golang

После установки проверьте версию Golang с помощью команды:

$ go version

Пример вывода:

go version go1.18.1 linux/amd64

1.1. Тестовая установка

Создайте файл с именем hello.go :

$ vi hello.go

Добавьте в него следующий код:

package main

import "fmt"

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

Сохраните файл и закройте его.

Теперь запустите код с помощью команды:

$ go run hello.go

Вывод:

hello, world

2. Установка Golang из исходного кода

Go доступен в стандартных репозиториях некоторых дистрибутивов Linux.

Однако версия языка Go в стандартных репозиториях может быть немного устаревшей.

Поэтому всегда рекомендуется использовать самую последнюю версию, скачав tarball с официального сайта и установив его вручную, как описано ниже.

Нижеприведенные варианты были протестированы в версиях Ubuntu 16.04 и Ubuntu 22. 04.

Однако эти шаги одинаковы для других дистрибутивов Linux.

Загрузите последнюю версию Golang отсюда.

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

Затем проверьте целостность загруженного файла, как показано ниже.

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

Пример вывода:

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

Обратите внимание, что отображаемое выше значение контрольной суммы SHA256 должно совпадать со значением, предоставленным по ссылке на скачивание.

Если оно не совпадает, скачайте новый tarball и продолжите.

Распакуйте скачанный tarball с помощью команды:

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

Эта команда извлекает tarball в каталог /usr/local. Здесь флаг -c указывает на целевой каталог.

2.1. Настройка языка Go

Теперь нам нужно установить путь к исполняемому файлу языка Go в файле профиля пользователя.

Для этого отредактируйте файл профиля пользователя:

$ vi ~/.profile

Добавьте следующую строку:

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

Для общесистемной установки добавьте приведенную выше строку в файл /etc/profile.

Введите :wq, чтобы сохранить и закрыть файл.

Далее настройте рабочее пространство для языка Go, где мы будем сохранять сборки языка Go.

2.2. Создание каталога рабочей области

Рабочая область представляет собой иерархию каталогов с тремя каталогами в корне:

  • src содержит исходные файлы Go,
  • pkg содержит объекты пакетов,
  • и bin содержит исполняемые команды.

Создайте приведенную выше иерархию каталогов для рабочего пространства языка Go с помощью команды:

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

Здесь $HOME/go_projects – это каталог, в котором Go будет создавать свои файлы.

Далее нам нужно указать Go на новое рабочее пространство.

Для этого отредактируйте файл ~/.profile:

$ sudo vi ~/.profile

Добавьте следующие строки, чтобы указать Go на новый каталог рабочего пространства.

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

Если язык Go установлен не по умолчанию (т.е. /usr/local/), необходимо указать путь установки (GOROOT) в файле ~/.profile.

Например, если вы установили go lang в каталог HOME, то вам нужно добавить следующие строки в файл профиля пользователя.

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

Обратите внимание, что если вы установили Golang с помощью менеджеров пакетов, путь установки будет либо /usr/lib/go, либо /usr/lib/golang.

Вам необходимо обновить правильное значение пути в GOROOT.

После того как вы указали нужные значения, выполните следующую команду для обновления значений окружения Go lang.

$ source ~/.profile

Если вы выполнили общесистемную установку, запустите эту команду вместо этого:

$ source /etc/profile

Добавьте следующие строки, чтобы указать Go на новый каталог рабочего пространства.

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

Если язык Go установлен не по умолчанию (т.е. /usr/local/), необходимо указать путь установки (GOROOT) в файле ~/.profile.

Например, если вы установили go lang в каталог HOME, то вам нужно добавить следующие строки в файл профиля пользователя.

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

Обратите внимание, что если вы установили Golang с помощью менеджеров пакетов, путь установки будет либо /usr/lib/go, либо /usr/lib/golang.

Вам необходимо обновить правильное значение пути в GOROOT.

После того как вы указали нужные значения, выполните следующую команду для обновления значений окружения Go lang

$ source ~/.profile

Если вы выполнили установку в масштабах всей системы, запустите эту команду вместо этого:

$ source /etc/profile

2.3. Проверка версии Golang

Теперь выполните следующие команды, чтобы проверить, правильно ли вы установили и настроили язык Go.

Давайте проверим установленную версию:

$ go version

Вывод:

go version go1.19.5 linux/amd64

Чтобы просмотреть информацию о среде Go lang, выполните команду:

$ go env

Вывод:

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"

2.4. Создание простой программы ‘hello world’ с помощью Go

Теперь мы знаем, как установить, настроить и обновить язык Go.

Давайте продолжим и создадим простую программу ‘hello world’.

Создайте отдельный каталог для хранения исходного кода вашей программы.

Следующая команда создает каталог для хранения исходного кода программы ‘hello world’.

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

Создайте файл hello.go в каталоге hello:

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

Добавьте следующие строки:

package main

import "fmt"

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

Сохраните и закройте файл.

Затем выполните следующую команду для компиляции программы ‘hello world’:

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

Наконец, запустите программу ‘hello world’ с помощью команды:

$ $GOBIN/hello

Вывод:

Hello, World

Удаление языка Go

Если вам больше не нужен язык Go, вы можете удалить Golang, просто удалив каталог go, т.е. /usr/local/go.
$ rm -rf /usr/local/go

Если вы установили Golang с помощью менеджеров пакетов, для удаления Golang можно использовать соответствующую команду uninstall.

Например, выполните следующую команду для удаления языка программирования Go на системах на базе Debian

$ sudo apt remove golang

Также удалите каталоги рабочего пространства.

Заключение

На этом пока все.

В этом руководстве вы узнали, как установить язык Go в Linux, как настроить и написать простую программу.

 

You may also like

Leave a Comment