gpt4 book ai didi

go - Glide 或 dep 依赖问题,vendor 中的依赖不平坦

转载 作者:IT王子 更新时间:2023-10-29 02:19:44 26 4
gpt4 key购买 nike

相关代码如下:

import (
core "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api/legacyscheme"
)
...

func PodExec(clusterId string, namespace string, podName string, containerName string, cmd string) (){

...

req.VersionedParams(&core.PodExecOptions{
Container: containerName,
Command: []string{"bash", "-c", cmd},
Stdin: false,
Stdout: true,
Stderr: true,
TTY: false,
}, legacyscheme.ParameterCodec) //FIXME Here is the concerned code.

}

...

glide.yaml如下:

package: xxx-k8s-apiserver
import:
- package: github.com/astaxie/beego
version: v1.10.1
- package: k8s.io/api
subpackages:
- apps/v1
- core/v1
- package: k8s.io/apimachinery
subpackages:
- pkg/api/errors
- pkg/api/resource
- pkg/apis/meta/v1
- pkg/util/intstr
- pkg/util/yaml
- package: k8s.io/client-go
version: v10.0.0

当我在我的项目中运行 go build 时,出现这样的错误。



# xxx-k8s-apiserver/models
models/pod.go:82:3: cannot use legacyscheme.ParameterCodec (type "xxx-k8s-apiserver/vendor/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime".ParameterCodec) as type "xxx-k8s-apiserver/vendor/k8s.io/apimachinery/pkg/runtime".ParameterCodec in argument to req.VersionedParams:
"xxx-k8s-apiserver/vendor/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime".ParameterCodec does not implement "xxx-k8s-apiserver/vendor/k8s.io/apimachinery/pkg/runtime".ParameterCodec (wrong type for DecodeParameters method)
have DecodeParameters(url.Values, "xxx-k8s-apiserver/vendor/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime/schema".GroupVersion, "xxx-k8s-apiserver/vendor/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime".Object) error
want DecodeParameters(url.Values, "xxx-k8s-apiserver/vendor/k8s.io/apimachinery/pkg/runtime/schema".GroupVersion, "xxx-k8s-apiserver/vendor/k8s.io/apimachinery/pkg/runtime".Object) error



然后我看到 ./vendor 目录,似乎 glidedep 以某种方式错误地组织了依赖路径。依赖关系并不平坦,因为 vendor 路径 ./vendor/k8s.io/kubernetes/vendor 中还有另一个 vendor

最佳答案

How to handle nested "vendor" directories in Go packages?

典型的嵌套 vendor 问题。仍然不知道为什么 --strip-vendorglide install 中默认不是 true,这会造成很多不便。

这是一个重复的问题。

关于go - Glide 或 dep 依赖问题,vendor 中的依赖不平坦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54702308/

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