10
votes

"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 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!


1 commentaires

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.


3 Réponses :


10
votes

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.


0 commentaires

-1
votes

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 :)


0 commentaires

1
votes

À toute personne qui souhaite que les modules fonctionnent avec GoLand après avoir arrêté de le faire, assurez-vous que `` Activer l'intégration des modules Go '' est coché dans les Préférences en tant que tel:

Activer l'intégration des modules Go


0 commentaires