goやgo-bindataが読み込めないときの解決策

2020-08-05

Go はインストールパッケージが用意されているのでコマンドを打たずとも簡単に環境構築ができますが,それ故にいざ実行しようとしたら動かないケースが考えられます.

だいたいはパスを通していないことが原因です.

Go のパスを通す

terminal

# ZSH を使っているなら
$ vim ~/.zshrc

# bash なら
$ vim ~/.bash_profile

なんらかのエディタを使って,ファイルの最終行に /usr/local/bin/go とパスを追記します.

もし,パスに追加するディレクトリが存在していなければ作ってください.

go-bindata のパスを通す

パッケージをインストールする際に make しようとして下記のエラーが出たことがあります.

/bin/sh: go-bindata: command not found

ログを見ると go-bindata はダウンロードしたもののコマンドが見つからないようです.

ディレクトリを見ると ~/go/bin/go-bindata が存在しているので,同様にパスが通っていません.

慣習として GOPATH をホームディレクトリ直下にすることが多いようなので,それに従って GOPATH=$HOME/go とし,パスに $GOPATH/bin を追記します.

編集後のイメージ

.zshrc

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

こうなれば OK です.

terminal

$ source ~/.zshrc
$ go version
go version go1.14.6 darwin/amd64

バージョンが取得できれば Go のパスは通っています.make コマンドがうまく動作していれば,go-bindata のほうも問題ありません.