LoginSignup
3
3

More than 3 years have passed since last update.

Golangの環境構築

Last updated at Posted at 2020-09-26

本記事はGo初心者の備忘録になります。

環境

OS: Mac Catalina
Shell: Zsh

Go のインストール

homebrew でGoをインストール

brew install go 

インストールが完了したか確認(バージョンも合わせて確認)

go version
# 出力結果例) go version go1.15.2 darwin/amd64

環境変数$GOROOTの確認(Goのインストール先)

go env GOROOT
# 出力結果例) /usr/local/Cellar/go/1.15.2/libexec

環境変数$GOPATHの確認

go env GOPATH
# 出力結果例) /Users/ユーザー名前/go

ls $(go env GOPATH)
# 出力結果例) ls: /Users/ユーザー名前/go: No such file or directory

※パッケージのインストールを終えていない段階ではまだ$GOPATHのディレクトリは存在しない

Goの環境設定

パッケージのインストール(gore)

go get github.com/motemen/gore/cmd/gore

GOPATHの確認とパッケージの確認

ls $(go env GOPATH)
# 出力結果) bin/ src/

bin/ にはバイナリコード、src/ にはソースコードが格納されている。

GOPATHの設定をする(インストールしたパッケージをコマンドとして利用可能にする)

vim ~/.zshrc

下記の内容を ~/.zshrc の最後に追記

~/.zshrc
"Golangのパス設定
export GOPATH=$(go env GOPATH)
export PATH=$PATH:$GOPATH/bin

保存して閉じた後、~/.zshrc の再読み込み

source ~/.zshrc

インストールしたパッケージがコマンドラインで使えるようになったかの確認

gore は ruby の irb のように対話的にgoを実行できる

gore -autoimport
 gore>
 gore> fmt.Println(Hello World)
 Hello World
 12
 <nil>

↑12バイト出力されて、エラーがなかったという意味
ctrl + d で終了

goreがより便利になる拡張ツールも合わせてインストール

コード補完、出力のハイライト、APIドキュメントの参照などをできるようにする。

go get github.com/mdempsky/gocode
go get github.com/k0kubun/pp

プロジェクト管理ツールの設定

プロジェクト管理ツール ghq のインストール

brew install ghq
ghq の確認(自端末にインストールされているGoパッケージ(プロジェクト)の一覧を表示する)
ghq list

# 出力結果例)
# golang.org/x/tools
# golang.org/x/xerrors
# golang.org/x/sys
# golang.org/x/text
# golang.org/x/mod
# github.com/peterh/liner
# github.com/k0kubun/pp
# github.com/motemen/gore
# github.com/motemen/go-quickfix
# github.com/mdempsky/gocode
# github.com/mattn/go-isatty
# github.com/mattn/go-runewidth
# github.com/mattn/go-colorable

※自分で何かプロジェクトの作成を行う際も上記と同じ階層で開発を行う。

ghqでソースを取得してくるディレクトリを指定
git config --global ghq.root $GOPATH/src

ghq は裏で git コマンドを叩いていると思われる。

他の細かいところは必要になったら対応する。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3