goenvを使うことで開発ごとにgoのバーションを切り替えることができるので、インストールを行う。
$ git clone https://github.com/syndbg/goenv.git ~/.goenv
GOENV_ROOTの設定を行う。
下記コマンドは、PATHにHOME/.goenv/binを設定しています。
ちなみにbinは実行ファイルなので、このパスを通すことで実行できるようになります。
内部理解や内容整理したい場合には、 vim .zshe で以降の設定を記述しても良い。
echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.zshenv
echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.zshenv
GO_ROOTはgoのSDKの場所で、GOPATHは go get でモジュールをダウンロードする時に落とす場所。
バージョン切り替え時にGOPATHも変えないと、色々なバージョンが入ってきてしまうので、goenvを使うと自動で切り替えてくれます。
echo 'eval "$(goenv init -)"' >> ~/.zshenv
echo 'export PATH="$GOROOT/bin:$PATH"' >> ~/.zshenv
echo 'export PATH="$PATH:$GOPATH/bin"' >> ~/.zshenv
再起動後インストールする。
exec $SHELL
-lでバージョンが出てくるので最新をインストールする
goenv install -l
goenv global 1.12.0
システム全体で使うときは以下実行し、プロジェクトごとに指定したい場合はlocalを使う。
goenv global 1.12.0
適応バーションの確認
goenv rehash
go virsion
vsコード
リセットしてからvsコード左下のgoのバージョン押下後、chooses go environmentで対象バーションを押下
exec $SHELL
以下で確認
goenv versions
ローカルインポートの設定
以下初期化実行することでimport時のpathを指定できる(モジュールモードはオンに)
go mod init [モジュール名]
go mod init local/gotradingで、gotradingディレクトリ下のappディレクトり内のhello.goをimportしたい場合はlocal/gotrading/appで使用できる