0

我正在使用operator-sdk并且看到 VSCode 和 CLI 之间的行为不一致。

当我跑步时,operator-sdk run --local我看到以下内容。但是 VSCode 没有显示错误。我不确定为什么会这样或问题出在哪里。

pkg/controller/mypackage/mycontroller_controller.go:207:4: cannot use testRef (type *"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1".PipelineRef) as type "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1".PipelineRef in field value

有问题的代码如下所示。

    //...declaration
    testRef := &tekton.PipelineRef{
        Name: "mypipeline",
    }
    //..usage later...
    Spec: tekton.PipelineRunSpec{
            PipelineRef: testRef,
            Params: []tekton.Param{{

我正在使用gomodules,相关模块是->github.com/tektoncd/pipeline v0.10.0

我知道这与指针引用有关,当我将代码更改为

testRef := tekton.PipelineRef{
        Name: "mypipeline",
    }

然后 VSCode 显示如下错误,但 CLI 不报告任何错误。

cannot use testRef (variable of type v1alpha1.PipelineRef) as *v1alpha1.PipelineRef value in struct literal

这只是一个模块依赖问题,我的上游 API 在某个地方发生了变化吗?也许我的 cli 和 VSCode 正在读取不同的依赖项?我什至不知道从哪里开始......任何指针(双关语)都值得赞赏。

4

0 回答 0