go言語でモジュールやディレクトリの情報を操作する方法。みたいな感じ?
gRPCで上手くhoge.pb.goが読めなくて、 vim-jpのslackで教えてもらった方法。
1 | proj |
こんなdirectory構成の時に src/main.go
に
1 | import ( |
と書くと、 proj/idl
を読んでくれない。
解決方法としては、
- idlの下にgo.modを作り、
module proj/idl
と記述する。 - rootのgo.modに
replace proj/idl => ./idl/
を追加する。
だ。
意味は、
- idlという名のディレクトリだけど、proj/idlだという指定。
- ディレクトリはidlだけどパッケージ名は、proj/idlだ。
だそうだ。
パッとは出て来ないので、ここにメモする。