How to Wiki Database (change log)
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
3.9 KiB
78 lines
3.9 KiB
10 months ago
|
====== Установка Go ======
|
||
|
|
||
|
Как известно, [[yggdrasil:Yggdrasil|Yggdrasil]] и [[Yggdrasil:email:Yggmail|Yggmail]] написаны на [[go:go|Go]]. Разработчики этих программ обычно используют возможности последней версии Go при написании кода, и такой код зачастую не компилируется на более ранних версиях Go. В связи с этим у некоторых пользователей могут возникнуть сложности с самостоятельной сборкой Yggdrasil, Yggmail и других программ, т.к., в репозиториях популярных дистрибутивов Linux обычно содержатся устаревшие версии Go.
|
||
|
|
||
|
Ниже кратко описано, как можно установить Go последней версии в Linux (установка под Windows, думаю, сложностей вызвать не должна).
|
||
|
|
||
|
Используем дистрибутив на базе Debian, в других дистрибутивах всё делается аналогично.
|
||
|
|
||
|
Во первых, стоит проверить, не установлена ли в системе уже какая-либо версия Go:
|
||
|
|
||
|
<code>go version</code>
|
||
|
|
||
|
Если установленная версия Go является устаревшей, удаляем её:
|
||
|
|
||
|
<code>sudo apt remove golang</code>
|
||
|
|
||
|
Если остались каталоги /usr/lib/go-1(x).* или /usr/lib/go, или /usr/local/go - их можно удалить. Например:
|
||
|
|
||
|
<code>sudo rm-rf /usr/lib/go-1.13</code>
|
||
|
|
||
|
Смотрим, какая версия Go присутствует в репозитории дистрибутива:
|
||
|
|
||
|
<code>sudo apt update
|
||
|
apt-cache search golang</code>
|
||
|
|
||
|
или
|
||
|
|
||
|
<code>sudo apt update
|
||
|
apt-cache pkgnames golang</code>
|
||
|
|
||
|
Информация о пакете:
|
||
|
|
||
|
<code>apt-cache show golang-go</code>
|
||
|
|
||
|
Если версия в репозитории дистрибутива устраивает, устанавливаем её:
|
||
|
|
||
|
<code>sudo apt install golang-go</code>
|
||
|
|
||
|
Если не устраивает, идем по адресу: https://golang.org/dl/, выбираем и скачиваем архив под свой дистрибутив. Например, для Raspbian 9.13 (RaspberryPi 3):
|
||
|
|
||
|
<code>wget https://golang.org/dl/go1.17.1.linux-armv6l.tar.gz</code>
|
||
|
|
||
|
Распаковываем каталог go и перемещаем его в ''/usr/local/'':
|
||
|
|
||
|
<code>tar -xzf go1.17.1.linux-armv6l.tar.gz
|
||
|
sudo mv go /usr/local/</code>
|
||
|
|
||
|
Скачанный архив можно удалить:
|
||
|
|
||
|
<code>rm go1.17.1.linux-armv6l.tar.gz</code>
|
||
|
|
||
|
Далее, необходимо создать рабочий каталог go, в который вы будете собирать программы:
|
||
|
|
||
|
<code>mkdir ~/go</code>
|
||
|
|
||
|
И последнее: прописываем в профиль переменные среды окружения.
|
||
|
Открываем файл ''~/.bashrc'' или ''~/.profile'' и в конец файла дописываем:
|
||
|
|
||
|
<code>export PATH=$PATH:/usr/local/go/bin
|
||
|
export GOPATH=~/go</code>
|
||
|
|
||
|
(если в файле уже были подобные строки, связанные с go, их можно удалить)
|
||
|
|
||
|
Далее, нужно перелогиниться в систему, чтобы отработали команды в .bashrc, либо выполнить:
|
||
|
|
||
|
<code>source .bashrc</code>
|
||
|
|
||
|
Проверяем:
|
||
|
|
||
|
<code>go version</code>
|
||
|
|
||
|
Должны увидеть установленную версию go.
|
||
|
|
||
|
<code>go env</code>
|
||
|
|
||
|
Должны увидеть все переменные среды окружения, связанные с go.
|
||
|
|
||
|
Всё, можно собирать пакеты из исходников самостоятельно.
|