duanbarong4617 2019-02-15 03:28
浏览 41

滑行或Dep依赖性问题,供应商中的依赖性不平坦

Related code is as follow:

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 is as follow:

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

When I run go build in my project, sth goes wrong like this.



# 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



Then I see into the ./vendor directory, it seems like glide or dep somehow falsely organized the dependency path. Dependencies are not flat because there is another vendor in the vendor path ./vendor/k8s.io/kubernetes/vendor.

  • 写回答

1条回答 默认 最新

  • duan246558 2019-02-15 06:01
    关注

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

    Typical nested vendor issue. Still no clues why --strip-vendor is not true by default in glide install, it causes so much inconvenience.

    It's a duplicate issue.

    评论

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?