web-dev-qa-db-fra.com

L'initialisation du module Go sans VCS / Git échoue avec impossible de déterminer le chemin du module

J'essaie d'initialiser un nouveau projet go avec le module go (en utilisant go 1.11). Je n'ai pas l'intention de le publier dans github ou ailleurs, c'est juste un projet temporaire/test avec seulement le paquet principal.

Chaque fois que j'essaie d'exécuter go mod init dans un répertoire (qui est en dehors de mon $GOPATH), J'obtiens cette erreur:

go: cannot determine module path for source directory /Users/... (outside GOPATH, no import comments)

N'est-il pas possible d'initier un module sans utiliser git (ou un autre VCS)? Ou existe-t-il une solution de contournement?

13
Doe John

N'est-il pas possible d'initier un module sans utiliser git (ou un autre VCS)? Ou existe-t-il une solution de contournement?

Oui, il est possible de lancer les modules sans utiliser VSC, l'initialisation du module n'a rien à faire avec git ou tout autre VCS.

Cette erreur se produit lorsque le nom du module n'est pas entré pendant que init le module afin de générer un module modulename écrivez cette commande.

$ go mod init modulename

Le contenu du go.mod serait

module modulename

MODIFIER:

Pour utiliser les modules du référentiel local, utilisez la directive replace

Dans votre module principal où vous vérifiez votre module local, ajoutez les lignes suivantes

replace "X" v0.0.0 => "{location To your local module}"
require "X" v0.0.0

Et puis dans votre projet principal, importez le package util à partir du module X, vous pouvez simplement faire:

import "X/util"

Maintenant, quand vous ferez go build il recherchera ce module local à l'emplacement que vous avez indiqué dans le fichier mod du projet principal.

Pour plus d'explications

20
Hamza Anis