L'éditeur PHP Zimo a présenté : Récemment, l'outil de gestion de modules dans le langage Go a inauguré un nouveau module fonction-multipath. L'introduction de cette fonctionnalité permet aux développeurs de spécifier de manière plus flexible le chemin du module lors de l'utilisation des modules Go. Dans le passé, les développeurs ne pouvaient installer les modules que dans des chemins fixes, ce qui entraînait des dépendances de modules plus complexes. Aujourd'hui, l'émergence des modules multi-chemins offre aux développeurs davantage de choix, rendant la gestion des modules plus pratique et plus flexible. Les développeurs peuvent installer des modules dans différents chemins en fonction des besoins du projet, obtenant ainsi une meilleure gestion des modules et un meilleur contrôle des versions. L'introduction de cette nouvelle fonctionnalité améliorera encore l'efficacité du développement et la commodité du langage Go.
J'ai un module Go qui est mis en miroir sur plusieurs emplacements. L’un est dans gitlab et l’autre dans bitbucket. Lorsque j'essaie de le baser sur le nouvel emplacement gitlab, j'obtiens :
go: gitlab.com/company/[email protected]: parsing go.mod: module declares its path as: bitbucket.org/company/core but was required as: gitlab.com/company/core
Je sais pourquoi cela se produit, mais comment définir mon go.mod comme « ou » ?
Réponse courte : Vous ne pouvez pas.
Mais tout n'est peut-être pas perdu...
Si vous avez du code à l'emplacement référencé par le chemin du module et dans un emplacement différent à partir duquel, pour une raison quelconque, vous préférez télécharger, vous pouvez configurer git alias
pour rediriger la référence du chemin du module spécifié vers la source de téléchargement souhaitée :
git config --global --add url."https://<download path>".insteadof "https://<module path>"
Les alias ne doivent pas être complètement remplacés. Vous pouvez utiliser un alias pour remplacer le préfixe sur n'importe quel chemin de module. Donc, si vous hébergez un certain nombre de modules sur server ces modules (tant que les noms de référentiel sont les mêmes). Par exemple, nous l'utilisons pour créer des chemins de modules « conviviaux » pour les modules hébergés dans un référentiel git de serveur azuredevops local, comme :
git config --global --add url."https://tfs.myorg.com/myorgcollection/_git".insteadof "https://tfs.myorg.com"
) tfs.myorg.com/somemodule.git
,但是当 go get
尝试获取此 git 时,它将在 https://tfs.myorg.com/myorgcollection/_git/somemodule 中查找它.git
git config --global --add url."https://gitlab.com/company/".insteadof "https://bitbucket.org/company/"
.git
.
c'est-à-dire lorsque vous devez citer le
chemin du module déclaré par : git
级别的事物,就 go
而言,它仍然从 bitbucket.org
获取,即使 git
将在后台访问 gitlab.com
go get bitbucket.org/company/core
. go get
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!