Goのインストール Linuxのプログラミング言語は大したことではありません。 Go言語のインストールと構成には数分しかかかりません。良い点は、 Update-golangを使用してLinuxにGolangをインストールするのがさらに簡単になったことです。 スクリプト。
Update-golangは、最小限のユーザー操作で最新のGolangバージョンを簡単にフェッチしてインストールするためのシェルスクリプトです。このスクリプトを使用すると、誰でもLinuxマシンに安定したGoリリースを簡単にインストールできるようになります。すべてが自動化されています!このスクリプトを実行して、座ってください。このスクリプトは次のことを行います:
- まず、Update-golangスクリプトは、Golangのリリース履歴ページから利用可能な最新のGolangバイナリを検索します。
- 次に、LinuxシステムのOSバージョンとアーキテクチャを検索して、一致するバイナリをダウンロードします。ダウンロードしたファイルは、
/usr/local
に保存されます。 ディレクトリ。 Goのインストール後に削除できます。 - 正しいGoバイナリがダウンロードされると、
/usr/local/go
にインストールされます。 場所。 - 次に、パス
/usr/local/go/bin
$PATH
に追加されます 。 - 次に、GOROOTパスを設定します。
- 最後に、
hello world
を実行して、Golangのインストールをテストします。 プログラム。
このスクリプトは、新規インストール用だけでなく、現在インストールされているGoバージョンを次に利用可能なバージョンに更新するためにも使用できます。
Update-golangスクリプトを使用してLinuxにGolangをインストールする
GitHubからリポジトリのクローンを作成してUpdate-golangスクリプトをダウンロードします:
$ git clone https://github.com/udhos/update-golang
上記のコマンドは、公式のupdate-golangリポジトリの内容をupdate-golang
という名前のローカルディレクトリに複製します。 。このディレクトリへのCd:
$ cd update-golang
インターネットからダウンロードしたスクリプトの整合性を確認することを常にお勧めします。それでは、update-golangスクリプトのCHECKSUM値を確認して、これを実行しましょう。
$ wget -qO hash.txt https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh.sha256
$ sha256sum -c hash.txt
OKとして出力が得られたら、準備は完了です。
update-golang.sh: OK
chekcsumを確認したら、次のコマンドを実行して、最新の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のバージョンと環境情報を確認する
インストールされている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スクリプトは最新の安定バージョンをインストールします。ベータ版またはリリース候補版をインストールする場合は、以下のようにバージョンを明示的に記載してください。
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
今回は、インストールファイルはキャッシュされません。
Golangを削除
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