⚙️
AmplifyでNode.jsバージョンを変更する
AWS AmplifyホスティングでNode.jsのバージョンが原因でデプロイに失敗する場合の解決方法を紹介します。
解決方法
Amplifyのビルドイメージを変更することで、Node.jsバージョンを指定できます。
手順
-
AWS Amplify Consoleを開く
- 左メニュー >「アプリの設定」>「ビルドの設定」
-
Build image settingsを変更
- デフォルト: Amazon linux:2
- 変更先: 構築イメージ(Docker Hubのnodeイメージ)
-
イメージを選択
- 構築イメージ一覧: https://gallery.ecr.aws/docker/library/node
- 例:
node:18.14.1

- 更新して再ビルド
具体的なユースケース
問題: Astro v3.1.0のデプロイエラー
最新版のAstro(^3.1.0)を使用している場合、以下のエラーが発生します。
Node.js v16.19.0 is not supported by Astro!
Please upgrade Node.js to a supported version: ">=18.14.1"
原因: AmplifyのデフォルトNode.jsバージョンはv16.19.0で、Astroの要求バージョン(>=18.14.1)を満たしていない。
解決: ビルドイメージをnode:18.14.1以上に変更する。
まとめ
Amplifyホスティングでは、ビルドイメージを変更することでNode.jsバージョンをコントロールできます。デプロイエラーが発生した場合は、パッケージの要求バージョンとAmplifyのデフォルトバージョンを確認しましょう。
参考
以下のIssueに解決策が記載されています。
Discussion