Maison >développement back-end >Golang >Comment puis-je importer un module Go local sans le publier ?

Comment puis-je importer un module Go local sans le publier ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-19 00:59:11748parcourir

How Can I Import a Local Go Module Without Publishing It?

Importer un module Go local sans publication

Question :

Dans un projet Go, vous souhaitez importer un module hors GOPATH sans le publier sur GitHub ou ailleurs. Cependant, vous rencontrez une erreur : "Impossible de trouver le module pour le chemin [nom du module]". Malgré l'initialisation du module avec "go mod init [nom du module]", le module reste inaccessible.

Réponse :

Pour importer un module Go local sans le publier :

Utilisez une directive de remplacement avec Require

  1. Dans le go.mod de votre module principal, ajoutez les lignes suivantes :
require "module-name" v0.0.0
replace "module-name" v0.0.0 => "{local path to the module}"
  1. Remplacez {local path to the module} par le chemin absolu ou relatif vers le répertoire racine de votre module local. module.

Explication :

Le système de modules de Go récupère les modules à partir de chemins spécifiés. En utilisant la directive replace, vous remplacez le chemin attendu et le pointez vers votre module local. Cela vous permet d'importer le module sans le publier.

Pour importer un package depuis le module :

Pour importer un package, tel que util, depuis votre module local :

import "module-name/util"

Détails :

Les modules Go nécessitent des identifiants uniques, correspondant généralement aux informations publiques chemins. Cependant, la directive replace vous autorise des chemins personnalisés. Au lieu de s'appuyer sur des modules accessibles au public, cette méthode vous aide à travailler sur des modules locaux qui ne sont pas destinés à la publication.

Pour plus d'informations, reportez-vous à la documentation des modules Go :

  • [ Puis-je travailler entièrement en dehors de VCS sur mon système de fichiers local ?](https://go.dev/doc/modules/faq#local)
  • [Quand dois-je utiliser le remplacement directive ?](https://go.dev/doc/modules/replace)

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