Maison >développement back-end >Golang >Comment importer un module Go local sans le transférer vers un référentiel distant ?

Comment importer un module Go local sans le transférer vers un référentiel distant ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-22 11:51:111061parcourir

How Do I Import a Local Go Module Without Pushing it to a Remote Repository?

Référencement d'un module Go local

Cet article aborde le problème de l'importation d'un package à partir d'un module Go local, qui a été rencontré par un utilisateur qui a tenté d'utiliser un module sans le pousser au préalable vers un référentiel GitHub.

Le Problème

Lors de la tentative d'importation d'un module créé localement, l'utilisateur a rencontré l'erreur suivante :

cannot load github.com/Company/mymodule: cannot find module providing package github.com/Company/mymodule

La cause

Ceci une erreur se produit car Go tente de résoudre les modules tiers en les récupérant à partir de leurs URL distantes désignées. Dans ce cas, comme le module n'avait pas encore été poussé vers GitHub, Go n'a pas pu le localiser.

La solution

Pour utiliser un module local, l'utilisateur peuvent utiliser le mot-clé replace dans leur fichier go.mod :

replace github.com/Company/mymodule v0.0.0 => ../mymodule

Cela informe Go de l'emplacement correct du local dépendance.

Notes supplémentaires

Après avoir testé et poussé le module vers un référentiel, la ligne de remplacement peut être supprimée de go.mod. Pour utiliser correctement le module parallèlement au projet en cours, la commande suivante peut être utilisée :

go get -u github.com/Company/mymodule

De plus, il est essentiel de s'assurer que les fonctions et variables des packages Go commencent par des majuscules pour être accessibles de l'extérieur du paquet.

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