gpt4 book ai didi

go - go.mod 中的 golang.org/x/sys@hash 版本被忽略

转载 作者:行者123 更新时间:2023-12-01 22:23:43 27 4
gpt4 key购买 nike

我正在尝试使用 github.com/docker/engine作为 dockmoor 的依赖项,但是有 breaking changesx/sys/windows因此为 Windows 编译不再起作用。

##[error]/home/runner/go/pkg/mod/github.com/docker/engine@v0.0.0-20200204220554-5f6d6f3f2203/pkg/system/filesys_windows.go:111:24:
cannot use uintptr(unsafe.Pointer(&sd[0])) (type uintptr) as type *"golang.org/x/sys/windows".SECURITY_DESCRIPTOR in assignment

我试图设置 golang.org/x/sys 的显式版本例如使用
go get -u golang.org/x/sys@acfa387b8d69adbeab4af0736737d42b9f2e8254
我可以看到我的 go.mod 中反射(reflect)的版本, 然而
GO111MODULE=on GOOS=windows go build ./cmd/dockmoor
导致相同的错误。

我还尝试了不同的修订,例如 14da1ac737ccc89e3a28bf770cbbd260ce7e190b这是更改的父级,但我总是收到该错误。

好像是 golang.org/x/sys的版本只是被忽略了。

对于我最后一次尝试,我有:
白鲸/引擎 v19.03.6/v0.0.0-20200204220554-5f6d6f3f2203
go 版本:1.12.16(与 moby/engine v19.03.6 中使用的相同)
golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed(与 moby/engine v19.03.6 中使用的相同)

知道如何解决吗?

最佳答案

问题是某些依赖项引入了另一个版本的 golang.org/x/sys

解决方案是在 go.mod 末尾添加一个显式覆盖。 .就我而言,它看起来像这样

replace golang.org/x/sys => golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69

关于go - go.mod 中的 golang.org/x/sys@hash 版本被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61306742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com