Golang или Go — это относительно новый язык программирования с открытым исходным кодом, разработанный компанией Google при проектировании собственной микросервисной архитектуры.
Его синтаксис вдохновлен языками Java и C++. Используя Golang, легко создавать простое, надежное и эффективное программное обеспечение.
Эта статья подробно рассказывает о том, как установить Golang на операционную систему Debian 11.
Debian — это популярная и свободно распространяемая операционная система в основе которое используется Unix-подобное ядро Linux, а также другие дополнительные программными компонентами, многие из которых взяты из GNU Project.
Это значит, что в этой статье будут использовать команды, актуальные для большинства Unix-подобных систем.
cloud
Перед тем как начинать непосредственно установку Golang, необходимо убедиться, что все необходимые для дальнейшей работы пакеты обновлены.
Поэтому сперва обновим репозитории пакеты, используя соответствующую команду:
sudo apt update
Отлично! Все репозитории обновлены. Однако нужно выполнить еще одну подготовительную манипуляцию.
Перед загрузкой архива с файлами Golang рекомендуется сперва убедиться, что на локальной машине отсутствует какая-либо (возможно, уже устаревшая) версия Golang.
Поэтому, во избежание дальнейших конфликтов, необходимо превентивно удалить папку /usr/local/go
в том случае, если она существует:
rm -rf /usr/local/go
Команда rm
выполняет удаление некоторой директории или файла. А флаг -rf
указывает на рекурсивно-принудительный тип удаления.
r
означает рекурсивный (recursive) — удаляется указанная папка, все ее подпапки, подпапки подпапок и т.д.f
означает принудительный (force) — никакие внешние состояние или переменный не смогут помешать удалению.Когда все пакеты обновлены, мы можем перейти к загрузке Go. Выполняется она вручную через графический интерфейс.
Для этого нам нужно открыть страницу загрузки на официальном сайте Go и загрузить самый последний установочный файл.
На самой странице будет несколько кнопок, позволяющих скачать архив для какой-то конкретной операционной системы. Нас интересует Linux.
После клика по соответствующей кнопке сразу же начнется загрузка файла с именем go1.21.3.linux-amd64.tar.gz
, либо с указанием более поздней версии.
В данном случае расширение .tar.gz
указывает на формат сжатого архивного файла, который представляет собой комбинацию двух других форматов архивов:
Это означает, что после загрузки архива его нужно будет извлечь — разархивировать.
В качестве альтернативы ручной загрузке вы можете использовать автоматическую. Для этого нужно выполнить соответствующую команду запроса, указав точный адрес и имя скачиваемого архива:
wget https://golang.org/dl/go1.21.3.linux-amd64.tar.gz
Команда wget
запускает специальную утилиту Linux, занимающуюся загрузкой файлов из интернета через терминал командной строки. Она работает со всеми основными протоколами — HTTP, HTTPS и FTP.
В нашем случае в качестве параметра мы передаем обыкновенный URL-адрес сайт Go, указывающий на расположение архива на удаленном сервере.
Для дальнейшей работы скачанный архив необходимо извлечь в каталог /usr/local
. Для этого нужно перейти в раздел «Загрузки» и выполнить соответствующую команду:
sudo tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz
Примечательно, что эта команда не делает никаких выводов с результатами в консоль. Однако, можно быть точно уверенным, что архив был извлечен в указанный каталог. Вы можете убедиться в этом, перейдя в /usr/local
.
Переменная PATH
Для работы Golang мы должны записать путь к исполняемым файлам языка /usr/local/go/bin
в переменную PATH
.
Для этого нужно открыть файл /etc/profile
в любом текстовом редакторе:
nano /etc/profile
После чего поместить в самый конец файла следующий текст:
export PATH=$PATH:/usr/local/go/bin
Переменная GOROOT
Дополнительно имеет смысл добавить переменную, указывающую на корневой каталог Go.
Как и в случае с PATH
, допишем новую строку в файл /etc/profile
:
export GOROOT=/usr/local/go
Переменная GOPATH
Еще одна немаловажная переменная, которую также стоит записать в etc/
profile
— путь до вашего рабочего каталога. Он может быть любой, но в нашем примере пусть будет такой — /Project/Project1
:
export GOPATH=$HOME/Project/Project1
Будьте внимательны! Вполне возможно изменения, внесенные в файл profile
, могут не примениться до момента следующего входа в систему.
Традиционно, чтобы убедиться, что Golang был успешно установлен на локальном компьютере, можно запросить его версию.
Только перед этим не забудьте перезагрузить терминал консоли и заново авторизоваться, иначе изменения не применятся и команда не будет работать:
go version
Если установка была выполнена корректно, вывод будет примерно таким:
go version go1.21.3 linux/amd64
Теперь после успешной установки языка программирования Go можно попробовать скомпилировать и запустить небольшой кусок кода.
Создадим папку проекта
Для этого мы сперва создадим отдельную директорию в корневом каталоге:
mkdir test
После чего перейдем в нее:
cd test
Создадим файл с кодом
Далее создадим файл main.go
, в котором будет размещен код программы:
nano main.go
Содержимое файла будет следующим:
package main
import "fmt"
func main() {
fmt.Println("Привет, Мир!") // ВЫВОД: Привет, Мир!
}
Запуск программы
Чтобы запустить написанный выше код, выполните следующую команду:
go run main.go
При запуске наша тривиальная программа выведет знакомую всем фразу «Привет, Мир!» в терминал командной строки, после чего выполнение программы успешно завершится.
Тут важно отметить, что, как правило, требуется не мгновенный запуск программы, а ее предварительная компиляция в готовый к использованию пакет.
Поэтому благодаря использованию команды go build
вы можете создать исполняемый двоичный файл приложения Go, который впоследствии можно будет распространять и развертывать на других локальных машинах:
go build
Если не указывать в качестве аргумента имя go-файла, то команда скомпилирует стандартное имя main.go
.
Помимо этого, компилятор Go включит все .go
-файлы в конечный «билд» и добавит вспомогательный код, необходимый для выполнения двоичного файла на любом компьютере с той же системной архитектурой — благодаря этому программа запуститься на другом компьютере независимо от того, есть ли на нем исходные файлы .go
или непосредственно сам компилятор Golang.
Подготовили для вас выгодные тарифы на облачные серверы
Итак. Установка Go на Debian не является чем-то сложным и состоит из нескольких основных этапов. Почти все из них могут быть выполнены в терминале командной строки без использования графического интерфейса:
Особое внимание стоит уделить второму этапу — удалению старой версии Go. Если этого не сделать, во время установки возникнут конфликты.
Мы также создали тривиальную программу, чтобы проверить корректность работы Golang. Компилятор Go создает на выходе двоичные файлы, которые пригодны для запуска в других средах, причем независимо от того, присутствует ли Go в них самих.