11

の中にgo.modファイルがありますroot/src/abc。そして、root/build-scripts私はそれを行うスクリプトを持っていgo getます。私は Go 1.11 を使用しているのでroot/src/abc、ビルド スクリプトで使用されているパッケージを除いて、mod ファイルが他のインポートを処理する代わりに go パスを使用していないため、エラーが発生します。

go: ソース ディレクトリのモジュール パスを特定できません。

助言がありますか?

4

1 に答える 1

3

スクリプトが作業ディレクトリを変更しないように見えるため、実行する実際のコマンドを見ずに確実なことを言うのは難しいため、go実行するコマンドはモジュールのルート フォルダーまたはそのサブフォルダーのいずれにもありません。

Command Goからの引用: go.mod ファイル:

モジュール バージョンは、ルートに go.mod ファイルを含むソース ファイルのツリーによって定義されます。go コマンドが実行されると、現在のディレクトリとそれに続く親ディレクトリを調べて、メイン (現在の) モジュールのルートを示す go.mod を見つけます。

したがって、スクリプトは作業ディレクトリをroot/src/abcまたはそのサブフォルダーのいずれかに変更する必要があります。そうしないと、go コマンドはgo.modファイルを見つけられません。

于 2018-10-24T21:42:39.810 に答える