четверг, 26 июля 2012 г.

Язык программирования Go: компиляция и установка на Ubuntu/Debian/Mint

Go является новым системным языком программирования, выразительным, кратким, чистым и эффективным. Его механизмы параллелизма позволяют легко писать программы, которые получают максимальную отдачу от многоядерных и сетевых машин, в то время он обеспечивает гибкость и модульность написания программ. Это быстро компилируемый, статически типизированный язык  с динамической типизацией и интерпретируемый язык, еще есть в нем удобства сбора мусора.


Шаг 1: Установка переменных окружения

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

$GOROOT – корневая директория для установки Go. Обычно это $HOME/go, но может быть любой директорией.

$GOOS – Название целевой операционной системы. Поскольку это Ubuntu (примечание переводчика: используя Ubuntu для разработки, на самом деле можно получать бинарные файлы для разных целевых систем) значение будет «linux»

$GOARCH – Название целевой архитектуры. Если у Вас 32-битная x86 система, это будет «386». См. другие значения в онлайн-документации Go.


$GOBIN – Адрес установки бинарных файлов. Вы можете использовать в его качестве 

$HOME/bin или любой другой путь по Вашему выбору. Затем Вам надо будет добавить его в свой $PATH, чтобы свежесобранные Go-специфичные команды, такие как компилятор, могли быть найдены в процессе сборки.

Активизируйте терминал и наберите следующую команду
sudo vi /etc/profile

Это приведёт к отрытию системного файла с профилем bash в редакторе vi (примечание переводчика: скорее всего, откроется vim). Вам нужно добавить следующие строки в конец файла.

export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386 или amd64
export GOBIN=$HOME/bin

Теперь добавьте $GOBIN к Вашему $PATH. Откройте .bashrc в Вашей домашней директории $HOME
sudo vi $HOME/.bashrc 
и добавьте следующую строку
export PATH=${PATH}:$GOBIN
Перезапустите машину для того, чтобы изменения возымели эффект (примечание переводчика: совершенно необязательное действие).
Перегрузите файлы, чтобы действия возымели эффект (спасибо peter vahlu)
source /etc/profile
source ~/.bashrc
Шаг 2: Установка Mercurial и получение репозитория Go

Google использует Mercurial для хранения исходного кода Go, так что Вам нужно установить его для получения содержимого репозитория. Начиная с версии 1.0, Mercurial устанавливается с помощью easy-install. Так что сначала требуется получить инструменты установки python, заголовочные файлы и другие необходимые установочные инструменты.
sudo apt-get install python-setuptools python-dev build-essential
Теперь устанавливаем Mecurial
sudo easy_install -U mercurial
Это довольно проблемная часть. Mercurial сообщала о ряде ошибок, когда я пытался получить репозиторий Go.

*** failed to import extension hgext.hbisect: No module named hbisect

Расширение bisect — это встроенная команда, начиная с версии 1.0, и она не должна использоваться. Если у Вас возникает такая ошибка, откройте конфигурационный файл (/etc/mercurial/hgrc.d/hgext) и удалите/закомментируйте строку hbisect=

Убедитесь, что директория $GOROOT не существует или пуста. Затем получите содержимое 
репозитория:
hg clone -r release https://go.googlecode.com/hg/ go
Шаг 3: Сборка Go из исходных файлов

Инструментарий Go написан на C. Чтобы собрать его, Вам нужно иметь установленными GCC, стандартные библиотеки C, программу создания синтаксических анализаторов Bison, make и текстовый редактор ed.
sudo apt-get install bison gcc libc6-dev ed make
Теперь соберём Go из исходных файлов
cd $GOROOT/src
./all.bash
Если all.bash запускается без проблем, он закончит работу выводом:
--- cd ../test
N known bugs; 0 unexpected bugs
где N — число ошибок, меняющееся от релиза к релизу.
Теперь на Вашей Ubuntu есть установленный GO. Удачи в кодировании!

Яндекс.Метрика

Комментариев нет:

Отправить комментарий