LoginSignup
1
1

More than 3 years have passed since last update.

Terraform Provider で `no suitable version installed` エラーが出る場合の対処法

Posted at

環境

  • macOS Mojave 10.14.6
  • Terraform 0.12.18

背景

Terraform を学習するために、テスト用の resource.tf を作成。

resource.tf
provider "aws" {
}

variable "AWS_REGION" {
  type = string
}

resource "aws_instance" "example" {
  ami = var.AMIS[var.AWS_REGION]
  instance_type = "t2.micro"
}

terraform init は正常に完了しました。

terraform init

エラー内容

terraform console を打つと次のエラーが発生。

terraform console

Error: Could not satisfy plugin requirements

Plugin reinitialization required. Please run "terraform init".

Plugins are external binaries that Terraform uses to access and manipulate
resources. The configuration provided requires plugins which can't be located,
don't satisfy the version constraints, or are otherwise incompatible.

Terraform automatically discovers provider requirements from your
configuration, including providers used in child modules. To see the
requirements and constraints from each module, run "terraform providers".

Error: provider.aws: no suitable version installed
  version requirements: "(any version)"
  versions installed: none

前述の通り、terraform init は実行済みですが、Error: provider.aws: no suitable version installed とあるので、terraform-provider-aws がちゃんとインストールされていないようです。

(ググってみると、同じ問題で困ってる人が多そうでした。)

対処法

terraform init では上手くいかないので、手動でプラグインをインストールします。

手動インストール

まずは terraform-provider-aws で zip ファイルをダウンロード。(macOS の場合は darwin_amd64 を選択)

ダウンロードしたファイルを ~/.terraform.d/plugins/darwin_amd64 配下に展開します。

cd ~/.terraform.d/
mkdir plugins
cd plugins
mkdir darwin_amd64
cd darwin_amd64
unzip ../../../Downloads/terraform-provider-aws_2.43.0_darwin_amd64.zip

これで手動インストールは完了。

pwd
/Users/[username]/.terraform.d/plugins/darwin_amd64
ls
terraform-provider-aws_v2.43.0_x4

terraform init で -plugin-dir を指定

続・エラー内容

上記、手動インストール後 terraform console すると、なおも同じエラーが発生します。

terraform console

Error: Could not satisfy plugin requirements

Plugin reinitialization required. Please run "terraform init".

Plugins are external binaries that Terraform uses to access and manipulate
resources. The configuration provided requires plugins which can't be located,
don't satisfy the version constraints, or are otherwise incompatible.

Terraform automatically discovers provider requirements from your
configuration, including providers used in child modules. To see the
requirements and constraints from each module, run "terraform providers".

Error: provider.aws: no suitable version installed
  version requirements: "(any version)"
  versions installed: none

続・対処法

terraform init-plugin-dir でプライグインのパスを指定するとエラーが解消されました。

terraform init -plugin-dir="/Users/[username]/.terraform.d/plugins/darwin_amd64"
terraform console
> 

References

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1