goenv 2系で go install したディレクトリにパスを通す
こんにちは、 @kz_morita です。
今回は goenv 2 系をインストールした際に、 1 系とパスが変わっていてので go install で インストールした場所へのパスを通す必要があって対応してのでメモです。
goenv 1 系と、2 系の違い 1 系だと、GOPATH がホームディレクトリ直下の、~/go の下にありました。
- $HOME/go/bin - $HOME/go/pkg 2 系だと、バージョンごとに bin や pkg ディレクトリが分かれるようになっていました。
- $HOME/go/1.17.0/bin - $HOME/go/1.17.0/pkg 1.17.0 でインストールした (go get や、go install した) ものは、上記のようなディレクトリになります。
なのでそれらを CLI 上から使用するためには、バージョンごとに異なるディレクトリの、/bin に対してパスを通す必要があります。
bashrc にパスを通すように記述する 以下のようなスクリプトを bashrc に書きました。
# goenv if existsCmd goenv; then eval "$(goenv init -)" versions=($(goenv versions --bare)); for v in "${versions[@]}"; do GO_VERSION_PATH="$HOME/go/$v/bin" export PATH="$GO_VERSION_PATH:$PATH" done fi やっていることとしては、まず goenv init をしたの地に、goenv versions をしてインストールされているバージョンだけ、ループして /bin ディレクトリにパスを通してます。