Maison  >  Article  >  développement back-end  >  Pourquoi ne puis-je pas importer de packages locaux dans mon projet GOPATH ?

Pourquoi ne puis-je pas importer de packages locaux dans mon projet GOPATH ?

DDD
DDDoriginal
2024-10-31 03:24:30824parcourir

Why Can't I Import Local Packages Within My GOPATH Project?

Problème d'importation de packages GOPATH

Vous rencontrez un problème lors de l'importation de packages locaux dans votre GOPATH mais pas dans votre répertoire personnel. La structure de votre projet, telle que vous l'avez décrite, semble correcte.

Chemins d'importation relatifs

Dans Go, les chemins d'importation relatifs sont déconseillés. Ils sont principalement destinés à l’expérimentation et ne sont pas entièrement pris en charge par les commandes go build et go install. Pour que votre projet fonctionne de manière transparente avec les outils Go, il est recommandé d'éviter d'utiliser les importations relatives.

Structure GOPATH

GOPATH est une variable d'environnement qui spécifie les répertoires dans lesquels Go recherche forfaits. Le GOPATH par défaut est défini sur votre répertoire personnel ($HOME/go). Dans votre cas, lorsque le projet se trouve dans $GOPATH/src/project, vous ne pouvez pas importer de packages locaux car les outils Go ne sont pas capables de les localiser correctement.

Recommandations

Pour résoudre ce problème, considérez ce qui suit :

  • Utilisez les chemins d'importation absolus : Au lieu d'utiliser des chemins d'importation relatifs, utilisez les chemins absolus de votre forfaits locaux. Dans votre cas, l'instruction d'importation de votre package models doit être :

    <code class="go">import "projpath/models"</code>

    Remplacez projpath par le chemin réel vers le répertoire du projet.

  • Envisagez un système de vente : Un système de vente comme Go Modules ou Go Vendoring peut aider à gérer les dépendances et prendre en charge les chemins d'importation relatifs. Ils vous permettent de spécifier et de suivre les packages locaux au sein de votre projet.

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!

Déclaration:
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