猿问

Go 1.18 在 Mac 上构建错误:

我在 Mac 12+ 上升级到 Go 1.18。


'go build' 失败并出现如下错误:


# 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


慕妹3242003
浏览 504回答 4
4回答

汪汪一只猫

这是由旧版本(本期golang.org/x/sys提到)引起的。修复是更新:go get -u golang.org/x/sys

哔哔one

如文档所述,最简单的方法:跑步get -u golang.org/x/sys。手动:git 将存储库克隆到$GOPATH/src/golang.org/x/sys.

湖上湖

我遇到了同样的错误,我固定执行以下操作:首先我跑了:go get -u golang.org/x/sys更新x/sys图书馆。然后它打印了一些重要信息:go: downloading golang.org/x/sys v0.0.0-20220704084225-05e143d24a9ego: upgraded golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd => v0.0.0-20220704084225-05e143d24a9e有了它,我去了go.mod并放置了以下行(行前go 1.14):replace golang.org/x/sys => golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e最后我跑了:go mod vendor然后它更新了所有库:go: downloading github.com/hashicorp/go-cleanhttp v0.5.1go: downloading github.com/hashicorp/go-rootcerts v1.0.0go: downloading github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500dbgo: downloading github.com/mitchellh/cli v1.0.0[...]go: downloading github.com/golang/snappy v0.0.0-20180518054509-2e65f85255dbgo: downloading github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412go: downloading github.com/Azure/go-autorest/autorest/to v0.4.0然后就好了❯ go install .❯ terraform --versionTerraform v0.13.5modules编辑:如果不是你的案例集,我在这里使用GO111MODULE=off。

HUX布斯

如果go get -u golang.org/x/sys不起作用,请确保删除您的此类行go.mod:replace golang.org/x/sys => golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6
随时随地看视频慕课网APP

相关分类

Go
我要回答