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

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

DDD
DDDoriginal
2024-12-26 03:56:17303parcourir

How Can I Access Local Packages Within My Go 1.11 Modules?

Accès aux packages locaux dans les modules Go 1.11

Énoncé du problème

Lors de la tentative d'accès à un package local dans un module Go avec une structure de projet similaire à celle décrite ci-dessous, la compilation échoue avec un "module impossible à trouver" erreur.

/
  - /platform
      - platform.go
  - main.go
  - go.mod

Solution

Pour accéder aux packages locaux dans un module Go, vous devez modifier le fichier go.mod du projet et utiliser la directive replace. Cette directive vous permet de spécifier un chemin local pour un package qui n'est pas disponible dans un référentiel distant.

Étapes pour résoudre le problème

  1. Définir les modules :

    • Dans l'exemple fourni, le module du projet principal peut être défini comme github.com/userName/mainModule.
    • Le module du package de plateforme peut être défini comme github.com/userName/otherModule.
  2. Modifier le fichier go.mod :

    • Ajoutez les lignes suivantes au Fichier go.mod :

      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"
    • Remplacez le chemin physique local vers l'autreModule par le chemin absolu vers le répertoire racine du répertoire autreModule.
  3. Importer le package :

    • Dans main.go, importer le package souhaité depuis un autreModule :

      import "github.com/userName/otherModule/platform"

Informations supplémentaires

  • La directive replace vous permet pour remplacer la dépendance distante par un chemin local, même s'ils ont le même numéro de version.
  • Les modules sont des collections de packages. Dans Go 11, vous pouvez utiliser des modules pour gérer les dépendances et les versions.
  • Pour une introduction complète aux modules Go, reportez-vous à la documentation officielle.

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