web-dev-qa-db-fra.com

"Le package XXX n'est pas dans GOROOT" lors de la création du projet Golang

J'ai un problème étrange qui est survenu lorsque j'ai pris une pause dans ce projet. Au démarrage de Goland, je suis criblé d'erreurs en essayant d'exécuter mon projet.

L'erreur spécifique, lors de la construction de l'un de mes packages, est: start.go: package project/game is not in GOROOT (C:\Go\src\project\game)

J'ai une structure de dossiers en tant que telle sous C:\Users\username

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

et mes variables d'environnement sont comme telles:

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

pour chacun des modules (projet/jeu/entité, projet/jeu, projet/serveur), j'ai fait un git mod init.

Lors de la construction, Goland essaiera d'exécuter ceci:

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

et renvoyez l'erreur.

Quelqu'un peut-il m'aider avec ce problème? Un peu perdu depuis que Goland fonctionnait bien la dernière fois que je l'ai ouvert. Je ne sais même pas non plus dans quelle direction regarder - je suis assez nouveau dans Go et je ne suis pas vraiment sûr de la documentation à consulter:\Merci à tous!

1
Michael Shum

Une conclusion assez stupide (principalement de ma part) mais mon problème venait du fait que go mod init dans chacun des dossiers. après avoir supprimé go.mod et go.dep de chacun des dossiers que j'ai créés go mod init in, je pourrais construire sans problème (via le terminal)

De plus, mes packages dans GoLand n'étaient pas détectés car j'avais les modules Go activés dans les paramètres. Je l'ai désactivé et GoLand a pu indexer les packages externes et mes propres packages.

Merci @dlsniper d'avoir essayé de m'aider sur ma question alambiquée!

0
Michael Shum