0

小さなアプリには他のプロジェクト(オリジン)ベンダーのディレクトリを使用します(古いバージョンのライブラリを使用し、現在のものと互換性がないため)。しかし、私はこれらのエラーが発生します:

argument to kclient.Namespaces().List                                                                                                                                                                           
[mangis@mj origin-goclient-example]$ go build                                                                                                                                                                  
# github.com/mangirdaz/origin-goclient-example                                                                                                                                                                 
./main.go:15: cannot use &flags (type *"github.com/mangirdaz/origin-goclient-example/vendor/github.com/spf13/pflag".FlagSet) as type *"github.com/openshift/origin/vendor/github.com/spf13/pflag".FlagSet in ar
gument to "github.com/openshift/origin/pkg/cmd/util/clientcmd".New                                                                                                                                             
./main.go:29: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to osclient.Projects().List                                                                    
./main.go:37: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to osclient.BuildConfigs("my-project").List                                                    
./main.go:45: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to kclient.Pods("my-project").List                                                             
./main.go:56: cannot use "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/api".ListOptions literal (type "github.com/mangirdaz/origin-goclient-example/vendor/k8s.io/kubernetes/pkg/a
pi".ListOptions) as type "github.com/openshift/origin/vendor/k8s.io/kubernetes/pkg/api".ListOptions in argument to kclient.Namespaces().List  

govendor と "code" が vendor dir を適切に扱うようにする方法は? 私がここで間違っていることは何ですか?

コード例:

import (
    "fmt"
    "log"

    flag "github.com/spf13/pflag"

    "github.com/openshift/origin/pkg/cmd/util/clientcmd"
    kapi "k8s.io/kubernetes/pkg/api"
)

func main() {
    flags := flag.FlagSet{}
    factory := clientcmd.New(&flags)
...

そして、フラグが間違って使用されていると文句を言います。

4

0 に答える 0