J'ai récemment commencé à utiliser des modules dans Go, mais je rencontre fréquemment des problèmes où tout fonctionne correctement sur une machine, mais une incompatibilité de somme de contrôle est rencontrée lors de la construction de la base de code sur une autre machine.
Le problème concerne toujours la même dépendance de tiers (github.com/ericlagergren/decimal):
go: verifying github.com/ericlagergren/[email protected]: checksum mismatch
downloaded: h1:HQGCJNlqt1dUs/BhtEKmqWd6LWS+DWYVxi9+Jo4r0jE=
go.sum: h1:x4oNpFLLl+8l+iLgksNHzZewTS0SKp6m0hlLwzXRbqA=
J'ai essayé différentes choses: supprimer et régénérer go.sum
, mise à niveau de Go lui-même vers la dernière version du correctif et suppression de la dépendance de go.mod
mais rien ne semble résoudre ce problème.
Quelqu'un at-il une idée de comment résoudre ce problème?
Quelle version de Go utilisez-vous? Il y a de fortes chances que vous rencontriez les conséquences de la 1.11.2 -> 1.11.4
:
Ce qui n'est toujours pas complètement résolu. N'oubliez pas que go mod
est encore en développement, donc des choses comme ça se produiront probablement jusqu'à la 1.13.
Assurez-vous de lire les versions mineures de Go et comment ces choses peuvent se produire: https://github.com/golang/ aller/wiki/MinorReleases
TL; DR - Mise à niveau Go
Tu peux courir go clean -modcache
puis go mod tidy
qui téléchargera à nouveau tous les dépôts avec la somme de contrôle correcte.
J'avais le même problème en utilisant 1.12.8 et aucun nettoyage de cache n'aiderait. Il s'avère que je suis toujours enfermé au milieu de GOPATH et du monde Mod. J'ai trouvé un drapeau dans un autre article ( Comment migrer des modules Dep to Go ) qui a fait l'affaire pour moi.
go run -mod=vendor main.go