Linux(CentOS, Ubuntu)にGo言語の開発環境を構築する

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

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

Download and install - The Go Programming Language

Goの入手

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

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

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

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

Pathの設定

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

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

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

$ source ~/.bash_profile

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

$ go version
go version go1.13.4 linux/amd64

動作確認

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

package main

import "fmt"

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

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

$ go build hello.go

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

$ ./hello
hello, world

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

$GOPATHの設定

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

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

SettingGOPATH
The Go programming language. Contribute to golang/go development by creating an account on GitHub.

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

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

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

$ source ~/.bash_profile

コメント