Terraform模块是否需要依赖锁文件?模块内.lock.hcl文件处理咨询
Terraform模块中
.terraform.lock.hcl文件的处理建议 - 结论:完全可以删除模块目录下的
.terraform.lock.hcl,这个文件根本不该出现在模块仓库里。 - 核心原因:
.terraform.lock.hcl是执行terraform init后生成的锁文件,作用是锁定当前工作区的依赖版本(比如Provider的具体版本)。但模块是被其他Terraform配置引用的,模块本身不需要单独执行terraform init,也不会作为独立工作区运行。- 模块的依赖版本规则应该通过代码里的
required_providers块来定义,锁文件是根模块(也就是你执行terraform apply的那个主配置)该管的事——根模块的锁文件会统一控制整个配置(包括所有引用的模块)的依赖版本。
- 后续建议:把
.terraform.lock.hcl加入模块仓库的.gitignore里,防止以后不小心又把它提交上去。
内容的提问来源于stack exchange,提问作者dykim123.kim
相关产品推荐
相关产品推荐

