701 文字
4 分
Linux(CentOS, Ubuntu)にGo言語の開発環境を構築する
2018-12-02
2020-02-24

Go言語の開発環境を整えたので、その時のメモです。基本的には以下の公式サイトのGetting Startedに沿って環境を構築しました。

CentOS 7とUbuntu 18.04 LTSの2つのLinuxに開発環境を構築しましたが、同じ手順で構築できました。

Goの入手#

まずはGoのバイナリを入手します。今回はCLIのみのCentOSを使用しているため、wgetで取得します。2019年11月現在は1.13.4が最新バージョンのようなので、これをダウンロードしてきます。

Terminal window
$ wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz

/usr/local以下に展開します。公式サイトのコマンドほぼそのままですが、/usr/localはスーパーユーザーしか書き込み権限がないので、sudoをつけています。

Terminal window
$ sudo tar -C /usr/local -xzf go1.13.4.linux-amd64.tar.gz

Pathの設定#

Goの実行ファイルにパスを通します。今回は自分だけgoコマンドが使えればいいので、~/.bash_profileの最後の行に環境変数の設定を追加します。
(zshを使っている場合は~/.zprofileの最後の行に追加してください。)

Terminal window
export PATH=$PATH:/usr/local/go/bin

これで一度ログアウトして再度ログインすると、goコマンドが使えるようになります。ログアウトしたくない場合は、sourceコマンドで.bash_profileを再読み込みしてやります。

Terminal window
$ source ~/.bash_profile

goコマンドが使えるようになったことを確認します。下記コマンドでgoのバージョンが表示されたら無事Pathが通ってます。

Terminal window
$ go version
go version go1.13.4 linux/amd64

動作確認#

さて、これでGo言語の開発ができるようになったので、HelloWorldを動かしてみます。hello.goというファイルを作成し、以下のコードを書きます。

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

ビルドして、エラーが出ないことを確認します。

Terminal window
$ go build hello.go

実行します。hello, worldと表示されるのが確認できるかと思います。

Terminal window
$ ./hello
hello, world

これで、LinuxでGoの開発ができるようになりました。

$GOPATHの設定#

CAUTION

最近は$GOPATHじゃなくてGo Modulesを使用する流れが主流なので、こちらは設定する必要はないかもしれません。

Go言語ではgo getコマンドを使用して簡単に外部ライブラリを導入することができますが、そのためにはGOPATHという環境変数を設定する必要があります。今回は以下を参考にgo getのデフォルトパスらしい$HOME/goをGOPATHとして指定します。

~/.bash_profileの末尾に下記を追記してください。

Terminal window
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

最後に.bash_profileを再読み込みして完了です。

Terminal window
$ source ~/.bash_profile