web-dev-qa-db-ja.com

Golangプロジェクトのビルド時に「パッケージXXXはGOROOTにありません」

私がこのプロジェクトを中断したときに発生した奇妙な問題があります。 Golandを起動すると、プロジェクトを実行しようとするとエラーが発生します。

私のパッケージの1つをビルドするときの特定のエラーは次のとおりです:start.go: package project/game is not in GOROOT (C:\Go\src\project\game)

C:\Users\usernameの下にそのようなフォルダ構造があります

go
|-src
   |-project
        |-game
            |-entity
                 |-whatever.go
            |-game_stuff.go
        |-server

そして私の環境変数はそのようなものです:

GOROOT=C:\Go 
GOPATH=C:\Users\ketchup\go 

モジュール(プロジェクト/ゲーム/エンティティ、プロジェクト/ゲーム、プロジェクト/サーバー)ごとに、git mod initを実行しました。

ビルド時に、Golandはこれを実行しようとします:

C:\Go\bin\go.exe build -o C:\Users\ketchup\AppData\Local\Temp\___go_build_project_server.exe project/server

エラーを返します。

誰かがこの問題を手伝ってくれる?前回Golandを開いたとき、Golandが正常に動作していたので、少し迷っていました。また、どの方向を見ればよいのかもわからない-私はGoにかなり慣れていないので、どのドキュメントを見ればよいのか本当にわからない:\みんなありがとう!

1
Michael Shum

かなりばかげた結論(主に私の側)ですが、私の問題はgo mod init各フォルダ内。削除後go.modおよびgo.dep各フォルダからgo mod initで、問題なくビルドできました(ターミナルを介して)

また、設定でGoモジュールを有効にしたため、GoLandのパッケージが検出されませんでした。これを無効にすると、GoLandは外部パッケージと自分のパッケージにインデックスを付けることができました。

複雑な質問で私を助けてくれてありがとう@dlsniper!

0
Michael Shum