さようならGOPATH
GOPATH、きみのことは忘れるよ。
なんて書き始めたが、やっとGo moduleで気になっていたところが解決したので忘備録的に書き出す。
何に気になっていたかというと・・・
「OK!プロジェクトディレクトリを$GOPATH/src以下に作らなくて良くなったことは理解した!」
「でも待てよ?同じプロジェクト内のサブモジュールをimportすると、リモートリポジトリからダウンロードして$GOPATH/src以下に置いてしまうのでは?手元のやつを使ってくれないのでは?」と。
具体的に言うと・・・
"import github.com/****/monkey/token"が書かれているmain.goをgo buildすると、リモートリポジトリからgithub.com/****/monkey/tokenからダウンロードして$GOPATH/src以下に置いてしまうのでは?ローカルにあるのを使ってくれないのでは?と。
なんかループしてね?と。
これは私の勘違いで、go.modに"module github.com/hogehoge/monkey"と書いて、"import github.com/hogehoge/monkey/fuga"をすると、goが賢く同じプロジェクトディレクトリ内のfugaモジュールを使ってくれる。
go賢いな・・・
もう、ビルドスクリプトで"GOPATH=$(pwd)/src"をしなくていいんだ。
この記事が気に入ったらサポートをしてみませんか?