Поиск по сайту:

Установите Golang в Linux с помощью скрипта Update-golang

Установка языка программирования Go в Linux не составляет большого труда. Установка и настройка языка Go займет всего несколько минут. Хорошо, что теперь установить Golang в Linux с помощью скрипта Update-golang стало еще проще.

Что такое Обновление-Голанг?

Update-golang — это сценарий оболочки, позволяющий легко загружать и устанавливать последние версии Golang с минимальным вмешательством пользователя. Теперь любой может легко установить стабильную версию Go на свой компьютер с Linux с помощью этого скрипта. Все автоматизировано! Просто запустите этот скрипт и расслабьтесь. Этот скрипт сделает следующее:

  1. Сначала скрипт Update-golang выполнит поиск последнего доступного двоичного файла Golang на странице истории выпусков Golang.
  2. Затем он найдет версию и архитектуру ОС вашей системы Linux и загрузит соответствующий двоичный файл. Загруженные файлы будут храниться в каталоге /usr/local. Вы можете удалить их после установки Go.
  3. После загрузки правильного двоичного файла Go он устанавливается в папку /usr/local/go.
  4. Затем путь /usr/local/go/bin добавляется в ваш ` PATH.
  5. Затем он установит путь GOROOT.
  6. Наконец, он проверит установку Golang, запустив программу hello world.

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

Установите Golang в Linux с помощью скрипта Update-golang.

Загрузите скрипт Update-golang, клонировав его репозиторий с GitHub:

git clone https://github.com/udhos/update-golang

Приведенная выше команда клонирует содержимое официального репозитория update-golang в локальный каталог с именем update-golang. Перейдите в этот каталог:

cd update-golang

Всегда рекомендуется проверять целостность скрипта, скачанного из Интернета. Итак, давайте сделаем это, проверив значение CHECKSUM скрипта update-golang:

wget -qO hash.txt https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh.sha256
sha256sum -c hash.txt

Если вы получите результат «ОК», все готово.

update-golang.sh: OK

После проверки контрольной суммы выполните следующую команду, чтобы установить последнюю версию Golang на ваш компьютер с Linux:

sudo ./update-golang.sh

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

update-golang.sh: version 0.24
update-golang.sh: find_latest: found last release: 1.16.2
update-golang.sh: user: uid=0(root) gid=0(root) groups=0(root)
update-golang.sh: RELEASE_LIST=https://golang.org/dl/
update-golang.sh: SOURCE=https://storage.googleapis.com/golang
update-golang.sh: DESTINATION=/usr/local
update-golang.sh: RELEASE=1.16.2
update-golang.sh: OS=linux
update-golang.sh: ARCH_PROBE=uname -m
update-golang.sh: ARCH=amd64
update-golang.sh: PROFILED=/etc/profile.d/golang_path.sh
update-golang.sh: CACHE=/usr/local
update-golang.sh: GOPATH=
update-golang.sh: DEBUG=
update-golang.sh: 
update-golang.sh: will install golang go1.16.2.linux-amd64 as: /usr/local/go
update-golang.sh: https://storage.googleapis.com/golang/go1.16.2.linux-amd64.tar.gz is remote
--2021-03-30 06:02:35--  https://storage.googleapis.com/golang/go1.16.2.linux-amd64.tar.gz
Resolving storage.googleapis.com (storage.googleapis.com)... 2404:6800:4009:81f::2010, 2404:6800:4009:820::2010, 2404:6800:4009:81d::2010, ...
Connecting to storage.googleapis.com (storage.googleapis.com)|2404:6800:4009:81f::2010|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 129010536 (123M) [application/octet-stream]
Saving to: ‘/usr/local/go1.16.2.linux-amd64.tar.gz’

/usr/local/go1.16.2.linux-amd64.t 100%[=============================================================>] 123.03M   501KB/s    in 5m 2s   

2021-03-30 06:07:40 (417 KB/s) - ‘/usr/local/go1.16.2.linux-amd64.tar.gz’ saved [129010536/129010536]

update-golang.sh: remove_old_link: not found symlink for old install
update-golang.sh: untar: tar -x -f /usr/local/go1.16.2.linux-amd64.tar.gz
update-golang.sh: profile_path_add: issuing new /usr/local/go/bin to /etc/profile.d/golang_path.sh
update-golang.sh: profile_path_add: issuing $HOME/go/bin to /etc/profile.d/golang_path.sh
update-golang.sh: golang go1.16.2.linux-amd64 installed at: /usr/local/go
update-golang.sh: testing: /usr/local/go/bin/go version
update-golang.sh: unsudo: running_as_root:ostechnix: /usr/local/go/bin/go version
update-golang.sh: go version go1.16.2 linux/amd64
update-golang.sh: /usr/local/go/bin/go version: SUCCESS
update-golang.sh: unsudo: running_as_root:ostechnix: mktemp -t hello-tmpXXXXXXXX
update-golang.sh: unsudo: running_as_root:ostechnix: tee /tmp/hello-tmpqGBVcjhy.go
update-golang.sh: testing: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go
update-golang.sh: unsudo: running_as_root:ostechnix: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go
update-golang.sh: hello, world
update-golang.sh: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go: SUCCESS
update-golang.sh: running_as_root: yes
update-golang.sh: recursively forcing build cache [/home/ostechnix/.cache/go-build] ownership to 1000:1000

Установите Golang в Linux с помощью скрипта Update-golang

Проверьте версию Golang и информацию об среде

Чтобы проверить установленную версию Go, запустите:

go version
go version go1.16.2 linux/amd64

Как видите, скрипт Update-golang установил Go версии 1.16.2. Это последняя стабильная версия Go на момент написания этого руководства.

Чтобы распечатать информацию о среде Go, запустите:

go env

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

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ostechnix/.cache/go-build"
GOENV="/home/ostechnix/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/ostechnix/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/ostechnix/go"
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.16.2"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
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 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build883237217=/tmp/go-build -gno-record-gcc-switches"

Установите бета-версию Golang или версию-кандидат (RC)

По умолчанию скрипт Update-golang установит последнюю стабильную версию. Если вы хотите установить какие-либо бета-версии или версии-кандидаты на выпуск, явно укажите версию, как показано ниже:

Установите бета-версию Голанга:

sudo RELEASE=1.9beta1 ./update-golang.sh

Установить кандидата на выпуск (RC):

sudo RELEASE=1.11rc1 ./update-golang.sh

Установка Golang для каждого пользователя

По умолчанию скрипт Update-golang устанавливает Golang для всей системы. Если вы хотите установить Golang для текущего пользователя, просто создайте каталог установки, например ~/golang:

mkdir ~/golang

А затем установите GO с помощью команды:

DESTINATION=~/golang PROFILED=~/.profile ./update-golang.sh

Обратите внимание, что для индивидуальной установки не требуются разрешения root или sudo.

Запретить кэширование загруженных файлов

Как упоминалось ранее, скрипт Update-golang сохранит загруженные архивы в каталоге /usr/local. Если вы не хотите кэшировать файлы архива, просто используйте опцию -declutter:

sudo ./update-golang.sh -declutter

На этот раз установочные файлы не будут кэшироваться.

Удалить Голанг

Чтобы отменить все действия, выполненные скриптом Update-golang, перейдите в каталог, в который вы клонировали скрипт, и запустите:

sudo ./update-golang.sh remove

Эта команда удалит Go и все связанные записи из пути ` PATH.

update-golang.sh: version 0.24
update-golang.sh: find_latest: found last release: 1.16.2
update-golang.sh: remove: found symlink for old install: /usr/local/go1.16.2.linux-amd64
update-golang.sh: remove: removing symlink: /usr/local/go
update-golang.sh: remove: removing dir: /usr/local/go1.16.2.linux-amd64
update-golang.sh: profile_path_remove: removing old settings from: /etc/profile.d/golang_path.sh

Ресурс:

  • Репозиторий GitHub Update-golang

Связанное чтение:

  • Создание виртуальных сред Golang с помощью Conda в Linux

Статьи по данной тематике