猿问

Terraform 提供程序指定版本的 SDK 以拉取/无法使用验证。

由于这个问题,看起来对于提供商来说,你必须获得当前版本的SDK(在发布时为2.4.4)。这篇文章有很多关于如何导入特定版本的包的信息,但可以肯定的是,每个提供程序编写器都不会手动提取最新版本的SDK(或者它们)?


我是Go / Terraform的新手,所以也许我错过了一些明显的东西,但我找到的提供商(包括官方示例)有这样的东西:


import(

    "github.com/hashicorp/terraform-plugin-sdk/v2/diag"

    "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"

    "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"

)

当前版本不是 2 - 它是 。现在我知道这些是本地路径,但让我感到困惑的是,当我运行类似的东西时,它会为我拉下这些路径。我尝试做:2.4.4go get


"github.com/hashicorp/terraform-plugin-sdk/v2.4.4/helper/schema"

但非常不喜欢这样。如何查找这些包版本?是否有一种导入语法可以让我获得最新版本或允许我获得更精细的粒度?我还没有找到一个好方法来判断我在运行后拥有哪个版本的SDK,但基于此错误消息:go getgo getgo get

看起来我有2.0,因为据我所知,这个错误在较新版本的SDK中得到了修复。


慕尼黑8549860
浏览 131回答 1
1回答

ITMISS

我想通了。该行为由 go.mod 文件控制。在那里,你会发现:require (     github.com/hashicorp/terraform-plugin-sdk v1.14.0 // indirect     github.com/hashicorp/terraform-plugin-sdk/v2 v2.0.1正如@JimB v2是插件的主要版本。 是 GitHub 标签。更改此项以获得所需的行为。v2.0.1v2.4.4
随时随地看视频慕课网APP

相关分类

Go
我要回答