Vercel デプロイエラーの解決方法(Next.js 15対応)
はじめに
Next.js 15のプロジェクトをVercelにデプロイする際に、以下のようなエラーに遭遇しました。
Error: Command "npm run build" exited with 1
ローカル環境では npm run build
が正常に動作するにもかかわらず、Vercelでのデプロイが失敗するという状況でした。本記事では、このエラーの原因と解決方法について解説します。
エラーの詳細
環境情報
- Next.js: 15.3.3
- Node.js: 18.17.0以上
- Tailwind CSS: v4
- Vercel CLI: 41.7.8
エラー発生時の状況
$ vercel --prod
Vercel CLI 41.7.8
Retrieving project…
Deploying shins/portfolio
Inspect: https://vercel.com/shins/portfolio/...
Production: https://portfolio-...vercel.app
Queued
Building
Error: Command "npm run build" exited with 1
原因の分析
このエラーメッセージは実際のエラー内容を示していない汎用的なメッセージです。真の原因を特定するには、以下の点を確認する必要があります。
1. package-lock.jsonの不整合
最も一般的な原因は、package-lock.json
ファイルとローカル環境のnode_modules
の間に不整合が生じていることです。
2. 依存関係の問題
- 本番環境に必要なパッケージが
devDependencies
に記載されている - パッケージのバージョン競合
- Vercel環境でのパッケージインストールエラー
3. 環境変数の未設定
Vercelダッシュボードで必要な環境変数が設定されていない場合もビルドエラーの原因となります。
4. Node.jsバージョンの不一致
ローカル環境とVercel環境のNode.jsバージョンが異なる場合、予期しないエラーが発生することがあります。
解決方法
解決策1: クリーンインストール(推奨)
最も効果的な解決方法は、依存関係をクリーンインストールすることです。
# 1. キャッシュとロックファイルを削除
rm -rf node_modules .vercel package-lock.json
# 2. 依存関係を再インストール
npm install
# 3. Vercelに再デプロイ
vercel --prod --yes
解決策2: Node.jsバージョンの指定
package.json
にNode.jsのバージョンを明示的に指定します。
{
"engines": {
"node": ">=18.17.0"
}
}
解決策3: ビルドエラーの一時的な無視(非推奨)
開発中の一時的な対処として、next.config.ts
でエラーを無視する設定を追加できます。
const nextConfig: NextConfig = {
typescript: {
ignoreBuildErrors: true,
},
eslint: {
ignoreDuringBuilds: true,
},
};
注意: この方法は本番環境では推奨されません。あくまで一時的な対処法として使用してください。
解決策4: 環境変数の確認
Vercel CLIで環境変数を確認します。
# 環境変数の一覧を確認
vercel env ls production
# 環境変数を追加
vercel env add
解決策5: ビルドコマンドのカスタマイズ
Vercelダッシュボードで、Build & Development Settingsから以下を設定できます。
- Install Command:
npm install --force
- Build Command:
npm run build
デバッグのヒント
詳細なエラーログの確認
# Vercelのログを確認
vercel logs <deployment-url>
# または、Vercelダッシュボードでログを確認
# https://vercel.com/[username]/[project]/[deployment-id]
ローカルでの本番ビルドテスト
# 本番環境と同じ条件でビルド
NODE_ENV=production npm run build
まとめ
Vercelのデプロイエラー「Command "npm run build" exited with 1」は、多くの場合、依存関係の不整合が原因です。以下の手順で解決できることが多いです:
- クリーンインストールを最初に試す
- Node.jsバージョンを明示的に指定
- 環境変数が正しく設定されているか確認
- 必要に応じてビルドログを詳細に確認
これらの方法を順に試すことで、ほとんどのデプロイエラーを解決できるはずです。
Discussion