「Go言語の最新版をインストールしたい」
「LinuxへGoをインストールしたい」
「Ubuntuで最新版のGoを動かしたい」
このような場合には、この記事の内容が参考となります。
この記事では、最新版GoをLinuxにインストールする方法を解説しています。
本記事の内容
- Goのダウンロード
- Goのインストール
- Goの動作確認
それでは、上記に沿って解説していきます。
Goのダウンロード
現時点(2022年2月)でのGoの最新バージョンは、go1.17.6 となります。
この最新バージョンは、2022年1月6日にリリースされています。
Download and install – The Go Programming Language
https://go.dev/dl/
最新版をダウンロードするには、上記ページへアクセス。
各自のあったモノをダウンロードします。
今回は、以下をダウンロード。
ブラウザからダウンロードする形でもOK。
ただ、今回は以下のコマンドで行います。
wget https://go.dev/dl/go1.17.6.linux-amd64.tar.gz
ダウンロードが終わったら、確認します。
$ ls go1.17.6.linux-amd64.tar.gz
問題なく、ダウンロードできています。
以上、Goのダウンロードを説明しました。
次は、Goをインストールします。
Goのインストール
Goのインストールを行います。
すでにインストール済みなら、アップグレードにもなります。
インストール処理は、次の手順で行います。
- Goディレクトリの設置
- パスの設定
それぞれを下記で説明します。
Goディレクトリの設置
正確には、削除からのインストールとなります。
まずは、既存のGoを削除します。
未インストールなら、何も起きません。
sudo rm -rf /usr/local/go
次に、カレントディレクトリがダウンロードしたファイルのある場所であることを確認します。
$ ls go1.17.6.linux-amd64.tar.gz
ファイルがあることを確認したら、次のコマンドを実行。
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
tarコマンドのCオプションは、以下の処理となります。
-C ディレクトリ | カレントディレクトリを指定したディレクトリに変更してから実行する |
---|
上記の説明だけでは少しわかりにくいかもしれません。
以下のコマンドを実行したのと同じことです。
$ tar -xzf go1.17.6.linux-amd64.tar.gz $ ls go go1.17.6.linux-amd64.tar.gz $ sudo mv go /usr/local
では、Goディレクトリの設置状況を確認しましょう。
$ ls /usr/local/go AUTHORS CONTRIBUTORS PATENTS SECURITY.md api codereview.cfg lib pkg test CONTRIBUTING.md LICENSE README.md VERSION bin doc misc src
問題なくディレクトリを設置できています。
パスの設定
export PATH=$PATH:/usr/local/go/bin
上記を次のどちらかのファイルの最終行に追記します。
- $HOME/.profile
- /etc/profile
とりあえず、ユーザーのみとしておきます。
$ nano $HOME/.profile
最終行に追記したら、反映します。
$ source $HOME/.profile
これでGoのインストールは、完了です。
以上、Goのインストールを説明しました。
次は、Goの動作確認を行います。
Goの動作確認
Goのインストールが完了したら、次のコマンドを実行しましょう。
$ go version go version go1.17.6 linux/amd64
パスまで通っていれば、上記のように表示されます。
あと、ヘルプは以下のように入力すれば確認できます。
$ go Go is a tool for managing Go source code. Usage: go <command> [arguments] The commands are: bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol env print Go environment information fix update packages to use new APIs fmt gofmt (reformat) package sources generate generate Go files by processing source get add dependencies to current module and install them install compile and install packages and dependencies list list packages or modules mod module maintenance run compile and run Go program test test packages tool run specified go tool version print Go version vet report likely mistakes in packages Use "go help <command>" for more information about a command. Additional help topics: buildconstraint build constraints buildmode build modes c calling between Go and C cache build and test caching environment environment variables filetype file types go.mod the go.mod file gopath GOPATH environment variable gopath-get legacy GOPATH go get goproxy module proxy protocol importpath import path syntax modules modules, module versions, and more module-get module-aware go get module-auth module authentication using go.sum packages package lists and patterns private configuration for downloading non-public code testflag testing flags testfunc testing functions vcs controlling version control with GOVCS Use "go help <topic>" for more information about that topic.
各コマンドの詳細を知りたい場合は、次のように実行します。
$ go help version usage: go version [-m] [-v] [file ...] Version prints the build information for Go executables. Go version reports the Go version used to build each of the named executable files. If no files are named on the command line, go version prints its own version information. If a directory is named, go version walks that directory, recursively, looking for recognized Go binaries and reporting their versions. By default, go version does not report unrecognized files found during a directory scan. The -v flag causes it to report unrecognized files. The -m flag causes go version to print each executable's embedded module version information, when available. In the output, the module information consists of multiple lines following the version line, each indented by a leading tab character. See also: go doc runtime/debug.BuildInfo.
これは、「go version」の詳細ですね。
Goの動作確認としては、ここまでで十分でしょう。
正確には、Goコマンドの動作確認ですね。
以上、Goの動作確認の説明でした。