custom background image

Jak zainstalować Go na Ubuntu 22.04?


Instalowanie i konfigurowanie Go w systemie Ubuntu 22.04

Cel

Go jest jednym z najbardziej znanych języków programowania na świecie. Jego popularność w ostatnich latach sprawiła, że stał się nieodzownym językiem w projektach deweloperskich. Aby dowiedzieć się więcej o możliwościach języka Go, sprawdź oficjalną dokumentację.

Z tego tutoriala dowiesz się, jak zainstalować Go na dystrybucji Linuksa Ubuntu 22.04.

 

Wymagania

W tym tutorialu przyjęto, że posiadasz serwer VPS, serwer bare metal lub, jak w naszym przypadku, instancję OVHcloud Compute z systemem Ubuntu 22.04. Potrzebne są również podstawowe kompetencje w zakresie korzystania z wiersza poleceń. Jeśli potrzebujesz pomocy w skonfigurowaniu instancji Public Cloud z systemem Ubuntu 22.04, postępuj zgodnie z instrukcjami zawartymi w przewodniku Korzystanie z instancji obliczeniowej OVHcloud.

 

Wskazówki

Dzięki temu tutorialowi zainstalujesz język Go, nauczysz się go używać i dowiesz się, jak przełączać się między kilkoma zainstalowanymi wersjami.

W momencie tworzenia tego tutoriala najnowszą wersją LTS Go była wersja 1.18.x.

 

Instalacja Go

Aby zainstalować Go w systemie Ubuntu, należy użyć polecenia apt-get.

sudo apt-get update && sudo apt-get -y install golang-go

Output:

$ sudo apt-get update && sudo apt-get -y install golang-go
Hit:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:5 https://pkg.jenkins.io/debian-stable binary/ InRelease
Hit:6 https://pkg.jenkins.io/debian-stable binary/ Release
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  bzip2 cpp cpp-11 g++ g++-11 gcc gcc-11 gcc-11-base golang-1.18-go golang-1.18-src golang-src libasan6 libatomic1 libc-dev-bin libc-devtools libc6-dev libcc1-0
  libcrypt-dev libdpkg-perl libfile-fcntllock-perl libgcc-11-dev libgd3 libgomp1 libisl23 libitm1 liblsan0 libmpc3 libnsl-dev libquadmath0 libstdc++-11-dev libtirpc-dev
  libtsan0 libubsan1 linux-libc-dev manpages-dev pkg-config rpcsvc-proto
Suggested packages:
  bzip2-doc cpp-doc gcc-11-locales g++-multilib g++-11-multilib gcc-11-doc gcc-multilib autoconf automake libtool flex bison gdb gcc-doc gcc-11-multilib bzr | brz
  mercurial subversion glibc-doc debian-keyring bzr libgd-tools libstdc++-11-doc dpkg-dev
The following NEW packages will be installed:
  bzip2 cpp cpp-11 g++ g++-11 gcc gcc-11 gcc-11-base golang-1.18-go golang-1.18-src golang-go golang-src libasan6 libatomic1 libc-dev-bin libc-devtools libc6-dev libcc1-0
  libcrypt-dev libdpkg-perl libfile-fcntllock-perl libgcc-11-dev libgd3 libgomp1 libisl23 libitm1 liblsan0 libmpc3 libnsl-dev libquadmath0 libstdc++-11-dev libtirpc-dev
  libtsan0 libubsan1 linux-libc-dev manpages-dev pkg-config rpcsvc-proto
0 upgraded, 38 newly installed, 0 to remove and 14 not upgraded.
Need to get 143 MB of archives.
After this operation, 634 MB of additional disk space will be used.
...
Scanning processes...                                                                                                                                                       
Scanning candidates...                                                                                                                                                      
Scanning linux images...                                                                                                                                                    

Restarting services...
Service restarts being deferred:
 systemctl restart systemd-logind.service

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

Verify installation:

go version

Wynik wyświetli się w następujący sposób:

$ go version
go version go1.18.1 linux/amd64

Go umożliwia zarządzanie kilkoma zainstalowanymi wersjami. Przykładowo możesz zainstalować wersję 1.17:

go install golang.org/dl/go1.17@latest

Wynik wyświetli się w następujący sposób:

$ go install golang.org/dl/go1.17@latest
go: downloading golang.org/dl v0.0.0-20220510203206-88ea6714b1d9

Polecenie Go spowoduje pobranie pliku binarnego go1.17 do folderu: ~/go/bin.

Możesz użyć tego pliku do instalacji wersji 1.17:

$ ~/go/bin/go1.17 download

Wynik wyświetli się w następujący sposób:


$ ~/go/bin/go1.17 download
Downloaded   0.0% (    16384 / 134787877 bytes) ...
Downloaded 37.7% (50822784 / 134787877 bytes)
Downloaded 82.8% (111606960 / 134787877 bytes)
Downloaded 100.0% (134787877 / 134787877 bytes)
Unpacking /home/ubuntu/sdk/go1.17/go1.17.linux-amd64.tar.gz ...
Success. You may now run 'go1.17'

Ostatnia instalacja Go znajduje się w folderze: /home/centos/sdk/go1.17.

Możesz zaktualizować zmienną środowiskową ścieżki, jeśli chcesz użyć tej wersji:

export PATH=/home/ubuntu/sdk/go1.17/bin:$wersja PATH go

Wynik wyświetli się w następujący sposób:


$ export PATH=/home/ubuntu/sdk/go1.17/bin:$PATH
$ go version
go version go1.17 linux/amd64

Test poprawności instalacji Go

Przetestuj poprawność instalacji Go, tworząc plik Hello World. Utwórz plik helloworld.go i wklej następujący kod:

package main import "fmt" func main() { fmt.Println("👋 Hello World.") }

Zapisz i uruchom:

go run helloworld.go

Wynik wyświetli się w następujący sposób:


$ go run helloworld.go 
👋 Hello World.

To wszystko, zainstalowałeś i skonfigurowałeś Go na Ubuntu 22.04.