Maison > développement back-end > Golang > Pourquoi est-ce que je reçois l'erreur « Le package XXX n'est pas dans GOROOT » lors de la création de mon projet Go ?

Pourquoi est-ce que je reçois l'erreur « Le package XXX n'est pas dans GOROOT » lors de la création de mon projet Go ?

Barbara Streisand
Libérer: 2024-12-20 12:18:10
original
453 Les gens l'ont consulté

Why Am I Getting the

"Le package XXX n'est pas dans GOROOT" Lors de la création d'un projet Go

Contexte

Le problème survient lors de la tentative de création d'un projet Go, et l'erreur suivante apparaît : "Le projet/jeu du package n'est pas dans GOROOT (C:Gosrcprojectgame)".

Root Cause

Cette erreur se produit généralement lorsque :

  • Les variables d'environnement GOROOT, GOPATH et GOBIN ne sont pas correctement définies.
  • Le projet Go n'est pas structuré correctement.
  • 🎜>
  • Le fichier go.mod est manquant ou non dans le projet racine.

Résolution

1. Configurer les variables d'environnement

Si vous avez effectué une mise à niveau vers une version plus récente de Go (1.13), les variables d'environnement telles que GOROOT, GOBIN et GOPATH ne sont plus recommandées.

2. Structure correcte du projet

Assurez-vous que votre projet dispose d'un fichier go.mod à la racine du projet et de la structure de répertoires suivante :
|- project
    |- game
        |- entity
        |- game_stuff.go
    |- server
Copier après la connexion

3. Utilisez go mod

Au lieu de vous fier aux variables d'environnement, utilisez Go Modules (go mod) pour gérer les dépendances des modules.
cd project
go mod init remote-repo.com/username/repository
Copier après la connexion

4. Exécuter les commandes à partir de la racine du module

Les commandes doivent être exécutées à partir du répertoire racine du projet. Par exemple :
go run server
Copier après la connexion

5. Spécifier les chemins complets du module

Lors de l'utilisation de commandes go, en particulier depuis l'extérieur de la racine du module, spécifiez le chemin complet du package, qui inclut l'URI du fournisseur. Par exemple :
go test github.com/username/repository/project/game/entity
Copier après la connexion

6. Définissez GOPATH si nécessaire (facultatif)

Pour les anciennes versions de Go, vous pouvez éventuellement définir GOPATH sur le chemin de l'espace de travail où se trouve votre projet. Assurez-vous que GOPATH pointe vers le chemin correct.
GOPATH=C:\Users\username\go
Copier après la connexion

Exemple

Pour créer le package serveur dans la structure de répertoires fournie :
cd project/server
go build project/server
Copier après la connexion

Cette commande devrait réussir à créer le package du serveur sans l'erreur « Le package XXX n'est pas dans GOROOT ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal