はじめに
フロントエンドの勉強をしていて、作成したWebサイトをAmplifyでホスティングすることにしました。
その中でAmplifyのビルド時にエラーが表示されたため、その内容を記載します。
ビルドの設定
Amplifyのビルドの設定として、最初は下記の設定をしていました。
amplify.yml
version: 1
frontend:
phases:
preBuild:
commands:
- nvm install v12.16.2
- nvm use v12.16.2
- npm install -g yarn
- yarn install
- node -v
build:
commands:
- yarn run build
artifacts:
baseDirectory: dist/
files:
- '**/*'
cache:
paths:
- node_modules/**/*
エラー文
上記の設定にてビルドしたところ、下記のエラーが表示されました。
2022-XX-XXTXX:XX:XX.XXXZ [INFO]: yarn install v1.22.19
2022-XX-XXTXX:XX:XX.XXXZ [INFO]: [1/4] Resolving packages...
2022-XX-XXTXX:XX:XX.XXXZ [INFO]: [2/4] Fetching packages...
2022-XX-XXTXX:XX:XX.XXXZ [WARNING]: error vuetify@3.0.0-beta.10: The engine "node" is incompatible with this module. Expected version "^12.20 || >=14.13". Got "12.16.2"
2022-XX-XXTXX:XX:XX.XXXZ [WARNING]: error Found incompatible module.
2022-XX-XXTXX:XX:XX.XXXZ [INFO]: info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
2022-XX-XXTXX:XX:XX.XXXZ [ERROR]: !!! Build failed
2022-XX-XXTXX:XX:XX.XXXZ [ERROR]: !!! Non-Zero Exit Code detected
原因
指定していたNode.jsのバージョンと互換性がないことが原因でした。
対処方法
まずは、Amplify上で動作しているNode.jsのバージョンを確認することにしました。
ビルド設定のpreBuildの先頭に「node -v」を追加して確認したところ、「v14.19.0」と表示されました。
ビルド設定の「v12.16.2」部分を「v14.19.0」と変更することで、無事にビルドすることができました。
ビルド設定
最終的なAmplifyのビルドの設定は、下記の通りです。
amplify.yml
version: 1
frontend:
phases:
preBuild:
commands:
- nvm install v14.19.0
- nvm use v14.19.0
- npm install -g yarn
- yarn install
- node -v
build:
commands:
- yarn run build
artifacts:
baseDirectory: dist/
files:
- '**/*'
cache:
paths:
- node_modules/**/*