📘
Amplify:We failed to validate the deploy-manifest.jsonエラーを一直したメモ
Nuxt + AWS Amplify で突然出た「We failed to validate the deploy-manifest.json」エラーを一瞬で直した話
Nuxt プロジェクトを Amplify にデプロイしていたら、ある日突然ビルドが落ちてこんなエラーが出ました。
CustomerError: We failed to validate the deploy-manifest.json file found in your build output directory
原因
AWS Amplify 側で Node.js 18 のサポートが終了していたのが原因でした。
Amplify の build ログを見ると、runtime が nodejs18.x のままになっており、これを直す必要があります。
解決手順
-
成功していた過去のデプロイから deploy-manifest.json を取得
Amplify の画面で「Download artifacts」から zip をダウンロードし、その中にある
deploy-manifest.jsonを見つけます。 -
deploy-manifest.json の runtime を修正
"computeResources": { "runtime": "nodejs20.x" } -
修正版をリポジトリのルートに追加してコミット
git add deploy-manifest.json git commit -m "fix: update runtime to nodejs20.x" -
Amplify の amplify.yml を編集
Amplify コンソールの「Build settings」で以下のように変更します。
build: commands: - npm run build - mkdir -p .amplify-hosting - cp deploy-manifest.json .amplify-hosting/deploy-manifest.json
これだけで再デプロイが通りました🎉
Node.js 18 の終了タイミングに合わせて、Amplify の runtime も自動で切り替わらない点には注意が必要です。
Discussion