【问题标题】:Error: Failed to query available provider packages when I run terraform init command错误:运行 terraform init 命令时无法查询可用的提供程序包
【发布时间】:2022-04-08 07:28:31
【问题描述】:

所以我正在关注Terrafom's official page 安装并启动 Terraform,但是当我使用 terraform init 命令时,我收到以下错误。

错误:无法查询可用的提供程序包 │ │ 无法检索提供者 kreuzwerker/docker 的可用版本列表:无法连接到 registry.terraform.io: │ 请求发现文件失败:Get "https://registry.terraform.io/.well-known/terraform.json": dial tcp:lookup │ registry.terraform.io on 192.168.0.1:53:服务器行为不端

【问题讨论】:

  • 看起来 dns 将 terraform.io 解析为 RFC 1918 地址。

标签: terraform


【解决方案1】:

问题似乎与网络连接有关。如果您使用的是 VPN,请停止它,然后重试命令 terraform init。

【讨论】:

    【解决方案2】:

    如果您碰巧使用的是 Apple M1 芯片,我在其他地方发布了这个答案:

    我也在使用带有 M1 芯片的 Macbook,并且一直面临同样的错误。要修复,我必须卸载 terraform “brew uninstall terraform”,按照这些说明 https://benobi.one/posts/running_brew_on_m1_for_x86/,运行“ibrew install hashcorp/tap/terraform”。

    虽然“terraform 版本”将提供与以前相同的输出,但它现在可以工作了。至少对我来说。希望这对某人有帮助!

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    【解决方案3】:

    我在为新的 AWS 资源运行 terraform init 时遇到了同样的错误。我收到以下错误:

    Initializing modules...
    
    Initializing the backend...
    
    Initializing provider plugins...
    - Finding hashicorp/aws versions matching "4.9.0"...
    ╷
    │ Error: Failed to query available provider packages
    │ 
    │ Could not retrieve the list of available versions for provider hashicorp/aws: could not connect to registry.terraform.io: Failed to request discovery document: Get
    │ "https://registry.terraform.io/.well-known/terraform.json": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
    

    我是这样解决的

    我认为这是暂时的网络问题。

    我所要做的就是使用以下命令将 Terraform 版本从 1.17 升级到 1.18:

    brew upgrade terraform
    

    然后再次尝试运行terraform init。等了几分钟,成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-09
      • 2021-08-26
      • 2021-12-28
      • 2021-01-20
      • 1970-01-01
      相关资源
      最近更新 更多