πΎ Archived View for betahowto.duckdns.org βΊ go:go_installation captured on 2024-02-05 at 09:39:12. Gemini links have been rewritten to link to archived content
β‘οΈ Next capture (2024-03-21)
-=-=-=-=-=-=-
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Yggdrasil ( /yggdrasil:Yggdrasil ) ΠΈ Yggmail ( /Yggdrasil:email:Yggmail ) Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Go ( /go:go ). Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Go ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π·Π°ΡΠ°ΡΡΡΡ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ Go. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΎΠΉ Yggdrasil, Yggmail ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Ρ.ΠΊ., Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Go.
ΠΠΈΠΆΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Go ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π² Linux (ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ Windows, Π΄ΡΠΌΠ°Ρ, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²ΡΠ·Π²Π°ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π°).
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π½Π° Π±Π°Π·Π΅ Debian, Π² Π΄ΡΡΠ³ΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Π²ΡΡ Π΄Π΅Π»Π°Π΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
ΠΠΎ ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΆΠ΅ ΠΊΠ°ΠΊΠ°Ρ-Π»ΠΈΠ±ΠΎ Π²Π΅ΡΡΠΈΡ Go:
go version</code>
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Go ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ, ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π΅Ρ:
sudo apt remove golang</code>
ΠΡΠ»ΠΈ ΠΎΡΡΠ°Π»ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ /usr/lib/go-1(x).* ΠΈΠ»ΠΈ /usr/lib/go, ΠΈΠ»ΠΈ /usr/local/go - ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
sudo rm-rf /usr/lib/go-1.13</code>
Π‘ΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ Go ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°:
sudo apt update apt-cache search golang
ΠΈΠ»ΠΈ
sudo apt update apt-cache pkgnames golang
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅:
apt-cache show golang-go</code>
ΠΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Ρ:
sudo apt install golang-go</code>
ΠΡΠ»ΠΈ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ, ΠΈΠ΄Π΅ΠΌ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: https://golang.org/dl/, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π°ΡΡ ΠΈΠ² ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Raspbian 9.13 (RaspberryPi 3):
wget https://golang.org/dl/go1.17.1.linux-armv6l.tar.gz</code>
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ go ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π΅Π³ΠΎ Π² /usr/local/:
tar -xzf go1.17.1.linux-armv6l.tar.gz sudo mv go /usr/local/
Π‘ΠΊΠ°ΡΠ°Π½Π½ΡΠΉ Π°ΡΡ ΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ:
rm go1.17.1.linux-armv6l.tar.gz</code>
ΠΠ°Π»Π΅Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ go, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
mkdir ~/go</code>
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅: ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» ~/.bashrc ΠΈΠ»ΠΈ ~/.profile ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ:
export PATH=$PATH:/usr/local/go/bin export GOPATH=~/go
(Π΅ΡΠ»ΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ go, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ)
ΠΠ°Π»Π΅Π΅, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π»ΠΎΠ³ΠΈΠ½ΠΈΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² .bashrc, Π»ΠΈΠ±ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
source .bashrc</code>
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ:
go version</code>
ΠΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ go.
go env</code>
ΠΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ go.
ΠΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
https://golang.org/dl/go1.17.1.linux-armv6l.tar.gz</code>
ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°