web-dev-qa-db-fra.com

Modules Go: incompatibilité de la somme de contrôle

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?

10
edwardmp

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

11
syntaqx

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.

15
Alex Efimov

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
0
beauXjames