# 错误：冲突的提供程序版本约束：多个模块要求提供程序 X 的不同版本

- **ID:** `terraform/conflicting-provider-version-constraints`
- **领域:** terraform
- **类别:** module_error
- **验证级别:** ai_generated
- **修复率:** 85%

## 根因

配置中的两个或多个模块为同一提供程序指定了不兼容的版本约束，导致 Terraform 依赖解析失败。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| Terraform >=1.3 | active | — | — |
| AzureRM Provider 3.x | active | — | — |
| AWS Provider 5.x | active | — | — |

## 解决方案

1. ```
   在所有模块中对齐版本约束。例如，在根模块设置 `required_providers { aws = "~> 5.0" }`，并确保所有子模块使用 `aws = ">= 5.0, < 6.0"`。
   ```
2. ```
   使用 `terraform providers` 检查版本要求，然后将约束更新为公共范围，例如在所有模块中使用 `version = "~> 5.0"`。
   ```

## 无效尝试

- **** — Terraform may default to the latest provider version, which could be incompatible with existing state or resources. (55% 失败率)
- **** — The lock file is managed by Terraform and manual edits are not preserved; also risks provider corruption. (75% 失败率)
