J'ai mis à niveau pour aller 1.18 sur Mac 12 +.
'Go Build' échoue avec des erreurs comme:
# golang.org/x/sys/unix ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/syscall_darwin.1_13.go:25:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.1_13.go:27:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.1_13.go:40:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:28:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:43:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:59:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:75:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:90:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:105:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:121:3: //go:linkname must refer to declared function or variable ../../gopath/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:121:3: too many errors Compilation finished with exit code 2
4 Réponses :
Cela a été dû à une ancienne version de golang.org/x/sys
(mentionné dans ce problème ). Fix est à mettre à jour avec:
go get -u golang.org/x/sys
J'ai exécuté aller get -u golang.org/x/sys
mais mon build échoue avec l'erreur ci-dessus: /go/pkg/mod/golang.org/x/sys@v0. 0.0-20201112073958-5CBA98289 4DD / UNIX / SYSCALL_DAR WIN.1_13.go: 29: 3: // Go: le nom de linknom doit se référer à la fonction ou une variable déclarée
Y a-t-il une solution permanente à cela? Il semble que je dois faire ça pour chaque projet que j'ai commencé
'Go Get' n'est plus pris en charge en dehors d'un module.
Quelqu'un connaît-il une solution mise à jour?
Ref allez obtenir
qui n'est plus pris en charge en dehors d'un module - voir Les notes de libération "en mode GOPATH (avec go111module = off), allez obtenir des constructions et installe des packages, comme avant.". Donc, si vous n'utilisez pas de modules set go111module = off
(vous devrez le faire pour construire de toute façon).
comme documentation mentionné,
get -u golang.org/x/sys
. $ gopath / src / golang.org / x / sys code>.
Si allez chercher -u golang.org/x/sys
ne fonctionne pas, assurez-vous de supprimer cette ligne dans votre go.mod
:
replace golang.org/x/sys => golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6
go.mod n'a pas la ligne mentionnée et Go Get Command ne résout pas non plus. Que peut-on faire d'autre?
J'ai fait face à la même erreur et j'ai corrigé en faisant ce qui suit:
J'ai d'abord couru:
⯠go install . ⯠terraform --version Terraform v0.13.5
pour mettre à jour le x / sys
bibliothèque.
Ensuite, il a imprimé quelques informations importantes:
go: downloading github.com/hashicorp/go-cleanhttp v0.5.1 go: downloading github.com/hashicorp/go-rootcerts v1.0.0 go: downloading github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db go: downloading github.com/mitchellh/cli v1.0.0 [...] go: downloading github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db go: downloading github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 go: downloading github.com/Azure/go-autorest/autorest/to v0.4.0
avec cela entre les mains, je suis allé à go.mod
et J'ai placé la ligne suivante (avant le go 1.14
ligne):
go mod vendor
et enfin j'ai couru:
replace golang.org/x/sys => golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e