0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vercel デプロイエラーの解決方法(Next.js 15対応)

Posted at

はじめに

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」は、多くの場合、依存関係の不整合が原因です。以下の手順で解決できることが多いです:

  1. クリーンインストールを最初に試す
  2. Node.jsバージョンを明示的に指定
  3. 環境変数が正しく設定されているか確認
  4. 必要に応じてビルドログを詳細に確認

これらの方法を順に試すことで、ほとんどのデプロイエラーを解決できるはずです。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?