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 d'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
C:\Go\bin\go.exe build -o C:\Users\ketchup\AppData\Local\Temp\___go_build_project_server.exe project/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:
go |-src |-project |-game |-entity |-whatever.go |-game_stuff.go |-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!
3 Réponses :
Une conclusion assez stupide (principalement de ma part) mais mon problème venait du fait d'avoir fait go mod init
dans chacun des dossiers. après avoir supprimé go.mod
et go.dep
de chacun des dossiers dans go.dep
je suis go mod init
, j'ai pu 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.
J'ai fait face au même problème. La plupart du temps, vos paquets doivent avoir leur fichier "go.mod" séparé. Supprimez ces fichiers et cela devrait fonctionner!
Veuillez également utiliser linux: P. Vous bénéficierez d'un meilleur support communautaire :)
L'erreur elle-même vient de Go, pas de l'EDI. Pouvez-vous coller l'erreur complète et toute la sortie IDE avant elle? Développez la section gosetup, si nécessaire.