首页 > 解决方案 > 指定模块时,terraform init 不起作用

问题描述

我是 terraform 的新手,并试图解决我在测试模块时面临的一个小问题。

以下是我在本地计算机中的文件夹结构。

在此处输入图像描述

我在存储文件夹级别有以下代码

#-------storage/main.tf

provider "aws" {
  region = "us-east-1"
}

resource "aws_s3_bucket" "my-first-terraform-bucket" {
    bucket = "first-terraform-bucket"
    acl = "private"
    force_destroy = true
}

下面是来自 main_code 级别引用存储模块的片段

#-------main_code/main.tf

module "storage" {
    source = "../storage"
}

当我从存储文件夹发出 terraform init / plan / apply 时,它工作得非常好,并且 terraform 创建了 s3 存储桶。

但是当我从 main_code 文件夹中尝试相同的操作时,我收到以下错误 -

main_code@DFW11-8041WL3: terraform init
Initializing modules...
- module.storage
Error downloading modules: Error loading modules: module storage: No Terraform configuration files found in directory: .terraform/modules/0d1a7f4efdea90caaf99886fa2f65e95

我已经阅读了关于堆栈溢出和其他 github 问题论坛的许多问题板,但没有帮助解决这个问题。不知道我错过了什么!

标签: terraformterraform-provider-aws

解决方案


只需通过运行更新现有模块terraform get --update。如果这不起作用,请删除 .terraform 文件夹。


推荐阅读