Go言語による開発環境を整えてみる

なかなか始められなかったGo言語の勉強、ようやく着手しました。

まずは開発環境を整えてみました。

OS

Ubuntu16.04のマシンで構築しました。

Go言語のインストール

Go言語をインストールするにあたり、Rubyのrbenv、Pythonのpyenvに相当するgoenvというツールがあるので、これを使用してGoをインストールしました。

goenvのインストール

Githubのgoenvのリポジトリをcloneします。

git clone https://github.com/syndbg/goenv.git ~/.goenv

環境変数

goenvに関連する環境変数を定義します。

export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"

僕はzshを使っているので、上記を~/.zshrcに追記しました。

初期化

goenvの初期化を行うために、

eval "$(goenv init -)"

~/.zshrcに追記しておきます。

このあと、source ~/.zshrcを実行すれば、goenvのインストールは完了です。

Go言語のインストール

Go言語をインストールするために、goenvでインストール可能なバージョンを確認します。

% goenv install --list
Available versions:
  1.2.2
  1.3.0
  1.3.1
  1.3.2
  :
  1.10.0
  1.10beta2
  1.10rc1
  1.10rc2
  1.10.1
  1.10.2
  1.10.3

1.10.3が最新版なので、それをインストールします。

% goenv install 1.10.3
Downloading go1.10.3.linux-amd64.tar.gz...
-> https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Installing Go Linux 64bit 1.10.3...
Installed Go Linux 64bit 1.10.3 to /home/shimar/.goenv/versions/1.10.3

ひとまず、1.10.3をデフォルトで使用するよう設定しておきます。

% goenv global 1.10.3
% go version
go version go1.10.3 linux/amd64

これで、Go言語のインストールができました。

作業ディレクトリ

How to Write Go Code - The Go Programming Languageの「Code Organization」を読んで、作業ディレクトリを整えました。

上記ページには、

Go programmers typically keep all their Go code in a single workspace.

と書いてあるので、Go言語による開発を行う単一のディレクトリを用意するのが良さそうです。

ということで、~/developments/goというディレクトリを作って、それを作業ディレクトリとして使っていくことにしました。

また、作業ディレクトリには、

  • src
  • pkg
  • bin

の階層が必要とのことで、合わせて作成しました。

% tree go
go
├── bin
├── pkg
└── src

GOPATH

Go言語で開発するためには、GOPATHという環境変数が必要になるようです。

先のHow to Write Go Code - The Go Programming Languageでは、

The GOPATH environment variable specifies the location of your workspace.

とあります。

作業ディレクトリを~/developments/goと決めたので、

export GOPATH="$HOME/developments/go"

~/.zshrcに追記します。


これで最低限のGo言語での開発環境が整ったような気がするので、あとは実際にコードを書きながら整備していこうと思います。