最新版Go言語のインストール

最新版Go言語のインストール プログラミング

「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の動作確認の説明でした。

タイトルとURLをコピーしました