Ubuntu 18.04にGoをインストールする方法

前書き

Goは、Googleで開発された最新のプログラミング言語です。 多くのアプリケーションや多くの企業で人気が高まっており、堅牢なライブラリのセットを提供しています。 このチュートリアルでは、Goの最新バージョン(この記事の公開時点ではGo 1.10)のダウンロードとインストール、および簡単なHello Worldアプリケーションの構築について説明します。

前提条件

このチュートリアルは、Initial Server Setup with Ubuntu 18.04で説明されているようにsudo権限を持つ非rootユーザーで構成されたUbuntu18.04システムにアクセスできることを前提としています。

[[step-1 -—- installing-go]] ==ステップ1—Goのインストール

この手順では、Goをサーバーにインストールします。

まず、sshを介してUbuntuサーバーに接続します。

ssh [email protected]_server_ip

Goをインストールするには、official Go downloads pageから最新バージョンを取得する必要があります。 このサイトでは、現在のバイナリリリースのtarballのURLとそのSHA256ハッシュを見つけることができます。

Goの公式ダウンロードページにアクセスして、現在のバイナリリリースのtarballのURLとそのSHA256ハッシュを見つけます。 ホームディレクトリにいることを確認し、curlを使用してtarballを取得します。

cd ~
curl -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

次に、sha256sumを使用してtarballを確認できます。

sha256sum go1.10.3.linux-amd64.tar.gz
Sample Outputgo1.10.3.linux-amd64.tar.gz
fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035  go1.10.3.linux-amd64.tar.gz

上記の出力で強調表示されているようなハッシュが得られます。 ダウンロードページにあるものと一致することを確認します。

次に、tarを使用してtarballを抽出します。 xフラグは、tarに抽出するように指示し、vは、詳細な出力(抽出されるファイルのリスト)が必要であることを通知し、fは、ファイル名:

tar xvf go1.10.3.linux-amd64.tar.gz

これで、ホームディレクトリにgoというディレクトリができました。 goの所有者とグループをrootに再帰的に変更し、それを/usr/localに移動します。

sudo chown -R root:root ./go
sudo mv go /usr/local

[.note]#Note:/usr/local/goは公式に推奨される場所ですが、一部のユーザーは別のパスを好むか、必要とする場合があります。

[[step-2 -—- setting-go-paths]] ==ステップ2—Goパスの設定

このステップでは、環境にいくつかのパスを設定します。

まず、Goのルート値を設定します。これは、Goにファイルの検索場所を指示します。

sudo nano ~/.profile

ファイルの最後に、次の行を追加します。

export GOPATH=$HOME/work
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

Goの代替インストール場所を選択した場合は、代わりにこれらの行を同じファイルに追加します。 次の例は、Goがホームディレクトリにインストールされている場合のコマンドを示しています。

export GOROOT=$HOME/go
export GOPATH=$HOME/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

プロファイルに適切な行を貼り付けて、ファイルを保存して閉じます。 次に、次を実行してプロファイルを更新します。

source ~/.profile

[[step-3 -—- testing-your-install]] ==ステップ3—インストールのテスト

Goがインストールされ、サーバーのパスが設定されたので、Goが期待どおりに動作することをテストすることができます。

Goワークスペース用に新しいディレクトリを作成します。Goワークスペースは、Goがファイルを作成する場所です。

mkdir $HOME/work

次に、テストファイルを作成するために、このコマンドを使用してこのフォルダーにディレクトリ階層を作成します。 Gitを使用してGoコードをコミットしてGitHubに保存する場合は、値userをGitHubユーザー名に置き換えることができます。 GitHubを使用してコードを保存および管理する予定がない場合は、フォルダー構造が~/my_projectのように異なる可能性があります。

mkdir -p work/src/github.com/user/hello

次に、単純な「Hello World」Goファイルを作成できます。

nano ~/work/src/github.com/user/hello/hello.go

エディター内で、メインのGoパッケージを使用し、フォーマットされたIOコンテンツコンポーネントをインポートし、実行時に「Hello、World」を印刷する新しい関数を設定する以下のコードを貼り付けます。

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

このプログラムは、正常に実行されると「hello、world」を出力します。これは、Goプログラムが正しくコンパイルされていることを示します。 ファイルを保存して閉じ、Goコマンドinstallを呼び出してコンパイルします。

go install github.com/user/hello

ファイルをコンパイルしたら、次のコマンドを実行するだけで実行できます。

hello

そのコマンドが「hello、world」を返す場合、Goは正常にインストールされ機能しています。 コンパイルされたhelloバイナリがインストールされている場所は、whichコマンドを使用して確認できます。

which hello
Output/home/user/work/bin/hello

結論

最新のGoパッケージをダウンロードしてインストールし、そのパスを設定することで、Go開発に使用するシステムができました。 Goのインストールと使用に関する追加の記事を“Go” tag内で見つけてサブスクライブできます。