2

我一生都无法弄清楚为什么会这样。另一个人声称这对他有用,而且我有一个环境问题。然而,每隔十几个项目对我来说都运行良好。

所以只是为了好玩,我从一个完全原始的围棋环境开始。(rm -rf ~/go)

没有 go.mod/go.sum 文件。没有其他回购。没有多余的文件或任何类型的文件。除了我的克隆回购之外,我的路径中绝对没有任何内容。

我克隆了我的 repo,然后启用了 go 模块,“go get k8s.io/code-generator”,我每次都会收到这个错误:

package k8s.io/code-generator: build constraints exclude all Go files in /Users/me/go/pkg/mod/k8s.io/code-generator@v0.0.0-20190813220511-4e023f69fd57

因此,这次我使用 go.mod 文件重复上述测试,该文件指定了所需的 k8s.io/code-generator 版本(1.13.1)。同样的错误。

有人知道这里有什么交易吗?我怀疑这是与 macOS 相关的问题或其他问题。

4

1 回答 1

3

包的唯一源文件k8s.io/code-generator有一个构建约束,指定+build tools.

命令“ go get<a href="https://tip.golang.org/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them" rel="nofollow noreferrer">解析并添加依赖到当前开发模块,然后构建和安装它们。 ”</p>

由于您请求的包的唯一源文件不适用于您的配置(或者实际上,大多数配置),您应该go通过将-d标志传递给命令来请求在下载模块后停止命令:


$ GO111MODULE=on go1.13beta1 get k8s.io/code-generator
go: finding k8s.io/code-generator latest
can't load package: package k8s.io/code-generator: build constraints exclude all Go files in /tmp/tmp.qZqEJeHXeb/_gopath/pkg/mod/k8s.io/code-generator@v0.0.0-20190814140513-6483f25b1faf

$ GO111MODULE=on go1.13beta1 get -d k8s.io/code-generator
go: finding k8s.io/code-generator latest

对于go之前的命令版本1.13,您可能还需要传递-m标志以指示路径应被解释为模块而不是包。

另请参阅https://golang.org/issue/33526

于 2019-08-19T17:17:11.830 回答