関連する可能性のある問題が 2 つあります。
mod1
2 つのサブディレクトリ (および)を含む、モノレポのテスト セットアップがありますmod2
。
それらのそれぞれにはファイルがあり、各モジュールには基本的な印刷コードをgo.mod
含む単一のファイルがあります。.go
Goモジュールは基本的mod2
に独自の小さmod2_lib
な. .go
GOPATH
からRun()
パッケージ内の関数を呼び出したいのですが、取得するのは.mod2/mod2_lib
mod1
build github.com/account_name/test/mod1: cannot find module for path github.com/account_name/test/mod2/mod2_lib
これを理解するために私が使用しているファイルは次のとおりです。
mod1/t.go
package main
import (
"fmt"
"github.com/account_name/test/mod2/mod2_lib"
)
func main() {
fmt.Println("mod1")
mod2_lib.Run()
}
mod2/mod2_lib/t_lib.go
package mod2_lib
import "fmt"
func Run() {
fmt.Println("RUNS")
}
py
2 つ目の問題は、この monorepo では、関連する PythonとRust のコードをトップレベルのディレクトリと に置きたいということですrust
。したがって、すべての Go パッケージをディレクトリに配置したいと思いますgo/src
。go/src
他の人はこのパスを自分のプロジェクトにどのよう"github.com/account_name/test/mod2/mod2_lib"
にインポートします"github.com/account_name/test/go/src/mod2/mod2_lib"
か?
誰かがこれらの問題について私にいくつかの指針を与えることができますか? Golang モジュールの使用に移行し、GOPATH
.