首页 > 解决方案 > 如何创建 `.terraform/providers/linux_amd64/lock.json` 文件?

问题描述

我在 Azure DevOps 管道中运行 terraform,我遇到的错误之一是它缺少.terraform/provides/linux_amd64/lock.json文件。但是我找不到任何方法来创建它。

/opt/hostedtoolcache/terraform/1.0.5/x64/terraform version
2021-09-01T15:45:48.064Z [INFO]  Terraform version: 1.0.5
2021-09-01T15:45:48.064Z [INFO]  Go runtime version: go1.16.4
2021-09-01T15:45:48.064Z [INFO]  CLI args: []string{"/opt/hostedtoolcache/terraform/1.0.5/x64/terraform", "version"}
2021-09-01T15:45:48.067Z [INFO]  CLI command args: []string{"version"}
Terraform v1.0.5
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v2.68.0
+ provider registry.terraform.io/hashicorp/helm v1.2.4
+ provider registry.terraform.io/hashicorp/http v1.2.0
+ provider registry.terraform.io/hashicorp/kubernetes v1.10.0
+ provider registry.terraform.io/hashicorp/template v2.1.2

/opt/hostedtoolcache/terraform/1.0.5/x64/terraform init -backend-config=storage_account_name=agcdcntfstatesa -backend-config=container_name=tfstate -backend-config=key=tfstate -backend-config=resource_group_name=*** -backend-config=subscription_id=*** -backend-config=tenant_id=*** -backend-config=client_id=*** -backend-config=client_secret=*** -backend-config=access_key=*** -upgrade
2021-09-01T15:45:48.148Z [INFO]  Terraform version: 1.0.5
2021-09-01T15:45:48.148Z [INFO]  Go runtime version: go1.16.4
2021-09-01T15:45:48.148Z [INFO]  CLI args: []string{"/opt/hostedtoolcache/terraform/1.0.5/x64/terraform", "init", "-backend-config=storage_account_name=***", "-backend-config=container_name=tfstate", "-backend-config=key=tfstate", "-backend-config=resource_group_name=***", "-backend-config=subscription_id=***", "-backend-config=tenant_id=***", "-backend-config=client_id=***", "-backend-config=client_secret=***", "-backend-config=access_key=***", "-upgrade"}
2021-09-01T15:45:48.151Z [INFO]  CLI command args: []string{"init", "-backend-config=storage_account_name=***", "-backend-config=container_name=tfstate", "-backend-config=key=tfstate", "-backend-config=resource_group_name=***", "-backend-config=subscription_id=***", "-backend-config=tenant_id=***", "-backend-config=client_id=***", "-backend-config=client_secret=***", "-backend-config=access_key=***", "-upgrade"}

Initializing the backend...
2021-09-01T15:45:48.229Z [WARN]  Failed to determine selected providers: 5 errors occurred:
    * there is no package for registry.terraform.io/hashicorp/template 2.1.2 cached in .terraform/providers
    * there is no package for registry.terraform.io/hashicorp/azurerm 2.68.0 cached in .terraform/providers
    * there is no package for registry.terraform.io/hashicorp/helm 1.2.4 cached in .terraform/providers
    * there is no package for registry.terraform.io/hashicorp/http 1.2.0 cached in .terraform/providers
    * there is no package for registry.terraform.io/hashicorp/kubernetes 1.10.0 cached in .terraform/providers
2021-09-01T15:45:48.231Z [INFO]  Failed to read plugin lock file .terraform/plugins/linux_amd64/lock.json: open .terraform/plugins/linux_amd64/lock.json: no such file or directory

我试过:terraform providers lock -platform=linux_amd64就在之前terraform init -upgrade,但它并没有真正帮助。

另外,不应该-upgrade标记忽略从文件中读取吗?

有任何想法吗?

标签: terraform

解决方案


推荐阅读