0

関連する可能性のある問題が 2 つあります。

mod12 つのサブディレクトリ (および)を含む、モノレポのテスト セットアップがありますmod2
それらのそれぞれにはファイルがあり、各モジュールには基本的な印刷コードをgo.mod含む単一のファイルがあります。.goGoモジュールは基本的mod2に独自の小さmod2_libな. .goGOPATH

ここに画像の説明を入力

からRun()パッケージ内の関数を呼び出したいのですが、取得するのは.mod2/mod2_libmod1build 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")
}

py2 つ目の問題は、この monorepo では、関連する PythonとRust のコードをトップレベルのディレクトリと に置きたいということですrust。したがって、すべての Go パッケージをディレクトリに配置したいと思いますgo/srcgo/src他の人はこのパスを自分のプロジェクトにどのよう"github.com/account_name/test/mod2/mod2_lib"にインポートします"github.com/account_name/test/go/src/mod2/mod2_lib"か?

誰かがこれらの問題について私にいくつかの指針を与えることができますか? Golang モジュールの使用に移行し、GOPATH.

4

1 に答える 1