🐕

[CDK for Terraform]いつのまにかbrew でのcdktf インストールが非推奨になっていた

2024/05/30に公開

最近GitHub CI/CD実践ガイドの本を購入して勉強中です。
(積読本が増えていく。。

出会った事象

brew cdktfしてもcdktf が0.20.4 terraformのバージョンが1.5.7
で変わらないなと思っていたらいつのまにか非推奨になっていた。

そのためbrewではないやり方でインストールする。

CDKTFのインストール

を参考にnpm installの実行。

npm install --global cdktf-cli@latest
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm ERR! code EEXIST
npm ERR! path /opt/homebrew/bin/cdktf
npm ERR! EEXIST: file already exists
npm ERR! File exists: /opt/homebrew/bin/cdktf
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.

エラーになる、brewでインストールしたcdktfと競合を起こしている様子。

  • homebrewでインストールしたcdktfを削除
rm -rf /opt/homebrew/bin/cdktf
  • 再度npm install
npm install --global cdktf-cli@latest
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported

added 532 packages in 6s

125 packages are looking for funding
  run `npm fund` for details
  • Version確認
cdktf --version
0.20.7
(node:87899) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

OK
Warningはあるが一旦無視

Terraformの最新化

  • バージョンアップ前
terraform -v
Terraform v1.5.7
on darwin_arm64

Your version of Terraform is out of date! The latest version
is 1.8.4. You can update by downloading from https://www.terraform.io/downloads.html

brew cdktf のStable版

公式をみると以下だけだ。

brew tap hashicorp/tap
brew install hashicorp/tap/terraform
  • 確認
terraform -v
Terraform v1.8.4
on darwin_arm64

本当はtfenvを使ってバージョン切り替えできるようにしたいんだけど
以前cdktfと一緒に利用した時組み合わせが悪くてbrew cdktf install せざるを得なかった記憶
一旦これで現状は支障がでていないので良しとする。

Goals Tech Blog

Discussion