~~NOCACHE~~ ~~DISCUSSION~~ ## 99.ナレッジ(Terraform) ### プラグインキャッシュ 「terraform init」実行時に、作業ディレクトリ配下の ".terraform/plugins/" にインターネットからダウンロードされるので回避策メモ。 作業ディレクトリ配下の「.terraform.lock.hcl」のハッシュ値とキャッシュディレクトリのファイルハッシュ値が合わないと再ダウンロードされるようなので 新規作業ディレクトリを作成する際は「.terraform.lock.hcl」も合わせてコピーするのが良いと思われます。 #### Windows編その1 ##### ①ディレクトリ作成 以降の手順にて「$env:TF_PLUGIN_CACHE_DIR」で指定するディレクトリを手動で作成する。 ##### ①PworShellから以下実行する。 ※PworShellは管理者で実行します。 ※管理者で実行すると、キャッシュディレクトリへのショートカットが作成されます。 ※管理者で実行しないと、".terraform/plugins/"にプラグインの実態が配置されます。 $env:TF_PLUGIN_CACHE_DIR = "C:\tmp\terraform.d\plugin-cache" terraform init #### Windows編その2 ##### ①ディレクトリ作成 以降の手順にて「terraform.rc」で指定するディレクトリを手動で作成する。 ##### ②「terraform.rc」ファイル格納作成 ・「%AppData%」直下に「terraform.rc」ファイルを作成し、ファイル内でパスを指定する。 環境にもよるが'C:\Users\[ユーザ名]\AppData\Roaming'が多いと思います。※「Roaming」がある点が注意です。 ・「terraform.rc」サンプル ※「plugin_cache_dir」のパスは「\」は2つずつです。 plugin_cache_dir = "C:\\tmp\\terraform.d\\plugin-cache" disable_checkpoint = true ##### ③PworShellから以下実行する。 ※PworShellは管理者で実行します。 ※管理者で実行すると、キャッシュディレクトリへのショートカットが作成されます。 ※管理者で実行しないと、".terraform/plugins/"にプラグインの実態が配置されます。 terraform init {{tag>Terraform}}