Установка Go 1.7 в CentOS 7

Published by Leave your thoughts

Go – это разработанный командой Google современный язык программирования, который использует синтаксис высокого уровня, похожий на скриптовые языки.  Он очень популярен, имеет широкий набор инструментов и надёжных библиотек. Это руководство поможет установить Go 1.7 на сервер CentOS 7 и создать простое приложение «Hello, World!».

Требования

1: Загрузка Go

С сентября 2016 года пакет golang из репозитория CentOS является устаревшим. Потому нужно установить Go вручную с сайта. Скопируйте ссылку на последнюю версию пакета для 64-битного сервера.

Перейдите в каталог tmp:

cd /tmp

Загрузите архив Go:

curl -LO https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz

Хотя архив был загружен с официального сайта, лучше на всякий случай проверить его целостность и подлинность. Команда sha256sum генерирует уникальный хэш:

sha256sum go1.7*.tar.gz
702ad90f705365227e902b42d91dd1a40e48ca7f67a2f4b2fd052aaa4295cd95  go1.7.linux-amd64.tar.gz

Сравните хэш в выводе с контрольной суммой пакета на сайте Go. Эти значения должны совпадать.

2: Установка Go

Для начала нужно распаковать архив Go в каталог /usr/local. Флаг -C сохраняет его содержимое в указанный каталог, x извлекает необходимые файлы, флаг v выдаёт подробный вывод (перечень извлечённых файлов), -z фильтрует вывод через gzip, а f позволяет задать имя файла

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

Примечание: В официальных источниках рекомендуется хранить файлы Go в каталоге usr/local/go. Если вы используете другой путь, укажите его в переменной среды GOROOT.

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

Рабочее пространство будет называться projects (при желании выберите любое другое описательное имя).

Флаг –p автоматически создаст дерево каталогов.

mkdir -p ~/projects/{bin,pkg,src}

Теперь нужно указать полный путь к Go.

3: Пути Go

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

Создайте сценарий path.sh в каталоге /etc/profile.d.

sudo vi /etc/profile.d/path.sh

Добавьте в файл:

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

Примечание: Если путь к Go на вашем сервере отличается, откорректируйте указанный в команде путь.

Также нужно установить значения переменных среды GOPATH и GOBIN в файле .bash_profile. GOPATH указывает путь к исходным файлам, а GOBIN задаёт каталог, в котором хранятся скомпилированные бинарные файлы.

Откройте .bash_profile:

vi ~/.bash_profile

Добавьте в него такие строки:

. . .
export GOBIN="$HOME/projects/bin"
export GOPATH="$HOME/projects/src"

Примечание: Если пути к каталогам отличаются, укажите правильный путь.

Чтобы обновить настройки, введите:

source /etc/profile && source ~/.bash_profile

4: Создание простого приложения

Попробуйте создать новое приложение, чтобы убедиться, что установка прошла успешно, и ознакомиться с некоторыми функциями Go.

Создайте файл .go:

vi ~/projects/src/hello.go

Добавьте в файл следующий код, который использует главный пакет Go, импортирует контент и определяет функцию, которая отобразит фразу Hello, World!.

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

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

Скомпилируйте исходный файл hello.go:

go install $GOPATH/hello.go

Запустите программу:

$GOBIN/hello

На экране появится:

Hello, World!

Заключение

Теперь вы умеете устанавливать Go, настраивать рабочее окружение и создавать простые приложения. Более сложное приложение использует библиотеки и удалённые пакеты. Больше информации о коде Go можно найти в официальной документации.

Tags: , ,

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

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


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>