git ls-remote réussit mais go get échoue
Éditeur PHP Apple a rencontré un problème lors de l'utilisation du langage Git and Go pour développer des projets : la commande git ls-remote peut obtenir avec succès les informations de l'entrepôt distant, mais la commande go get ne peut pas télécharger avec succès les packages dépendants. Ce problème a longtemps troublé l'éditeur. Après des tentatives et des débogages constants, j'ai finalement trouvé une solution. Dans cet article, nous présenterons en détail la cause et la solution de ce problème, dans l’espoir d’être utiles aux développeurs qui rencontrent le même problème.
Contenu de la question
La commande git ls-remote réussit pour le référentiel comme indiqué ci-dessous.
git ls-remote https://internal.net/dir1/dir2/dir3/repo warning: redirecting to https://internal.net/dir1/dir2/dir3/repo.git/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx head yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy refs/heads/master
Cependant, lors de l'utilisation de go get, cmd échoue et ne trouve pas le référentiel. La sortie d'erreur tente de trouver .git dans 1 répertoire au-dessus de la structure du référentiel.
go get internal.net/dir1/dir2/dir3/repo@master go: internal.net/dir1/dir2/dir3/repo@master: invalid version: git ls-remote -q origin in /Users/{{UserId}}/go/pkg/mod/cache/vcs/xyz...: exit status 128: remote: The project you were looking for could not be found or you don't have permission to view it. fatal: repository 'https://internal.net/dir1/dir2.git/' not found
Ma privatisation est
goprivate=internal.net
Qu'est-ce qui me manque ici pour réussir ?
Solution
Ajoutez le suffixe vcs dans le chemin du module privé pour marquer le préfixe racine du référentiel :
go get internal.net/dir1/dir2/dir3/repo.git@master
Voir Accès direct aux modules privés :
Un serveur http interne peut toujours être nécessaire pour résoudre les chemins des modules dans les URL du référentiel. Par exemple, lorsque la commande go télécharge le module corp.example.com/mod
时,它会向 https://corp.example.com/mod?go-get=1
发送 get 请求,并会查找存储库响应中的 url。为了避免此要求,请确保每个私有模块路径都有一个 vcs 后缀(如 .git
),标记存储库根前缀。例如,当 go 命令下载模块 corp.example.com/repo.git/mod
时,它将克隆位于 https://corp.example.com/repo.git
或 ssh://corp.example 的 git 存储库.com/repo.git
, aucune requête supplémentaire n'est nécessaire.
Veuillez noter que le suffixe vcs fait partie du chemin du module, il doit donc être inclus partout où le chemin du module est utilisé. Comprend :
module
commandemodule internal.net/dir1/dir2/dir3/repo.git
Copier après la connexionrequire
commanderequire internal.net/dir1/dir2/dir3/repo.git v0.0.1
Copier après la connexionDéclaration en douane à l'importation
import "internal.net/dir1/dir2/dir3/repo.git/pkg/util"
Copier après la connexion-
Il y a plus.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...

Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...

Deux façons de définir les structures dans le langage GO: la différence entre les mots clés VAR et le type. Lorsque vous définissez des structures, GO Language voit souvent deux façons d'écrire différentes: d'abord ...

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

La différence entre l'impression de chaîne dans le langage go: la différence dans l'effet de l'utilisation de fonctions println et string () est en Go ...

GO POINTER SYNTAXE ET ATTENDRE DES PROBLÈMES DANS LA BIBLIOTHÈQUE VIPER Lors de la programmation en langage Go, il est crucial de comprendre la syntaxe et l'utilisation des pointeurs, en particulier dans ...

Pourquoi l'itération de la carte dans GO fait-elle que toutes les valeurs deviennent le dernier élément? En langue go, face à des questions d'entrevue, vous rencontrez souvent des cartes ...
