Maison > développement back-end > Golang > Go Modules : transition tout ou rien de GOPATH ?

Go Modules : transition tout ou rien de GOPATH ?

Mary-Kate Olsen
Libérer: 2024-11-30 15:57:10
original
595 Les gens l'ont consulté

Go Modules: All-or-Nothing Transition from GOPATH?

Comprendre les modules Go dans les dépôts privés et Gopath

Lors de la migration des bases de code internes des modules dep vers go, certaines considérations se posent. Cet article approfondit les attentes et les conséquences de l'utilisation des modules go, notamment en relation avec les référentiels privés et le gopath.

Les modules Go et le Gopath

Selon le Go architectes du projet, les chemins « sans point » (sans point précédent) sont destinés exclusivement à la bibliothèque standard. Les dépendances développées en interne ne doivent pas utiliser cette notation.

Une fois qu'un projet passe à l'utilisation de modules go, il doit adopter pleinement le système de modules. Le gopath devient alors fonctionnellement identique à un cache de module.

Conséquences des modules et des dépôts privés

Cette transition vers les modules nécessite de gérer les dépendances via des dépôts privés. Par conséquent, les développeurs peuvent être confrontés aux conséquences suivantes :

  • Itérations de dépendances à distance : les développeurs peuvent avoir besoin de pousser et d'extraire des modifications vers des référentiels distants pour itérer sur les dépendances de modules privés.
  • Fusionner les référentiels : les développeurs peuvent également fusionner tous les référentiels en un seul, plus centralisé. un.

Votre hypothèse clé

Votre hypothèse selon laquelle toutes les dépendances d'un projet de module go doivent être résolues via le système de modules est correcte. Le gopath sert uniquement de cache pour les modules téléchargés.

Question : Les modules go sont-ils tout ou rien ?

Oui, les modules go sont tout ou rien . Une fois qu'un projet adopte des modules, toutes les dépendances doivent être modularisées. Le gopath ne conserve sa signification qu'en tant que cache pour les modules téléchargés.

Résoudre explicitement les dépendances à partir du Gopath

Il n'y a aucun moyen d'indiquer explicitement qu'une dépendance doit être résolue du gopath.

Supplémentaire Insights

  • Déplacer mon programme en dehors de gopath ne résout pas le problème.
  • Exécuter 'go mod init' dans le répertoire mylib n'affecte pas la situation.
  • L'utilisation de $GOPROXY peut faciliter le développement hors ligne avec des dépendances de modules privés.

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