Maison > développement back-end > Golang > Comment puis-je accéder aux packages locaux dans les modules Go ?

Comment puis-je accéder aux packages locaux dans les modules Go ?

Patricia Arquette
Libérer: 2024-12-24 11:23:11
original
315 Les gens l'ont consulté

How Can I Access Local Packages in Go Modules?

Accès aux packages locaux dans les modules Go (Go 1.11)

Lorsque vous travaillez avec des modules Go, accéder aux packages locaux en dehors de votre gopath peut être difficile. Considérez la structure de projet suivante :

/
  - /platform
      - platform.go
  - main.go
  - go.mod
Copier après la connexion

Avec cette configuration, l'importation du package de plateforme dans main.go entraînerait une erreur indiquant que le module de plateforme est introuvable.

Pour résoudre ce problème , plusieurs approches peuvent être employées. Une méthode consiste à garantir que les deux packages résident dans le même module. Pour ce faire, ajoutez simplement ce qui suit à go.mod :

module github.com/userName/moduleName
Copier après la connexion

Dans main.go, vous pouvez ensuite importer le package de la plateforme en utilisant :

import "github.com/userName/moduleName/platform"
Copier après la connexion

Cependant, si les packages sont physiquement dans des modules séparés, vous pouvez toujours importer des packages locaux en utilisant la directive replace dans le fichier go.mod du module principal.

module github.com/userName/mainModule

require "github.com/userName/otherModule" v0.0.0
replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"
Copier après la connexion

Dans main.go, vous pouvez importez maintenant le package de plateforme depuis le module otherModule :

import "github.com/userName/otherModule/platform"
Copier après la connexion

N'oubliez pas que le chemin dans la directive replace doit pointer vers le répertoire racine du module à remplacer.

Pour une compréhension complète de Go modules, référez-vous à la ressource suivante :

  • [Go Modules](https://go.dev/blog/modules)

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