🎃

Next.js + Prisma開発で覚えておきたい重要コマンド完全ガイド

に公開

はじめに

Next.js + Prisma + TypeScriptでの開発では、様々なコマンドを使い分ける必要があります。本記事では、開発フロー別に整理した重要コマンドを、実際の用途と合わせて解説します。

🔍 型チェック関連

基本の型チェック

# 型チェックのみ実行(ファイル出力なし)
npx tsc --noEmit

# 外部ライブラリの型エラーを無視して自分のコードのみチェック
npx tsc --noEmit --skipLibCheck

# ファイル変更を監視して自動型チェック
npx tsc --noEmit --watch

使い分けのポイント:

  • --noEmit: JavaScriptファイルを生成せず型チェックのみ
  • --skipLibCheck: node_modulesの型エラーを無視して高速化
  • --watch: 開発中のリアルタイム型チェックに最適

npm run build との違い

コマンド 用途 実行内容 出力 実行時間
npx tsc --noEmit --skipLibCheck 型チェック TypeScript型検証のみ なし ⚡ 数秒
npm run build 本番ビルド Prisma生成 + マイグレーション + Next.jsビルド .next/フォルダ 🐌 数十秒〜分

🗄️ Prisma Database関連

開発環境でのDB操作

# マイグレーション作成・実行(開発用)
npx prisma migrate dev --name [migration_name]

# Prismaクライアント生成(型定義更新)
npx prisma generate

# データベースGUIツール起動
npx prisma studio

# 既存DBからPrismaスキーマを生成
npx prisma db pull

# スキーマをDBに直接反映(マイグレーションファイル作らない)
npx prisma db push

本番環境用コマンド

# 本番用マイグレーション実行
npx prisma migrate deploy

# データベース完全リセット(⚠️開発環境のみ)
npx prisma migrate reset

# シードデータ投入
npx prisma db seed

マイグレーション戦略:

  • 開発: migrate dev でマイグレーションファイル生成
  • 本番: migrate deploy で作成済みマイグレーションを適用
  • プロトタイピング: db push で手軽にスキーマ反映

🛠️ 開発・ビルド関連

日常的な開発コマンド

# 開発サーバー起動
npm run dev

# 本番ビルド(Prisma + Next.js)
npm run build

# 本番サーバー起動
npm run start

コード品質管理(Biome使用)

# Lintチェック
npm run lint

# Lint自動修正
npm run lint:fix

# コードフォーマット
npm run format

# フォーマットチェック(修正なし)
npm run format:check

# Lint + Format 同時実行
npm run check

# Lint + Format 自動修正
npm run check:fix

🚀 開発フロー別コマンド組み合わせ

朝の開発開始時

# 1. 依存関係更新
npm install

# 2. DBマイグレーション適用
npx prisma migrate dev

# 3. 開発サーバー起動
npm run dev

コミット前チェック

# 1. コード品質修正
npm run check:fix

# 2. 型チェック
npx tsc --noEmit --skipLibCheck

# 3. ビルド確認(必要に応じて)
npm run build

DBスキーマ変更時

# 1. schema.prisma 編集後
npx prisma migrate dev --name "add_user_table"

# 2. 型定義更新(通常は自動実行されるが明示的に)
npx prisma generate

# 3. 変更確認
npx prisma studio

本番デプロイ前

# 1. 全体ビルド
npm run build

# 2. 本番サーバー起動テスト
npm run start

# 3. マイグレーション確認
npx prisma migrate deploy --dry-run

🔧 トラブルシューティング

キャッシュ・依存関係問題

# Next.jsキャッシュクリア
rm -rf .next && npm run build

# node_modules再構築
rm -rf node_modules package-lock.json && npm install

# Prismaクライアント再生成
npx prisma generate

型エラー詳細調査

# 厳密な型チェック
npx tsc --noEmit --strict

# 特定ファイルのみ型チェック
npx tsc --noEmit src/specific-file.ts

データベース問題

# マイグレーション状態確認
npx prisma migrate status

# マイグレーション履歴表示
npx prisma migrate diff

# 開発DB完全リセット(⚠️データ消失)
npx prisma migrate reset

📋 チートシート

毎日使うコマンド Top 5

npm run dev                           # 開発サーバー
npx tsc --noEmit --skipLibCheck      # 型チェック
npm run check:fix                    # コード品質修正
npx prisma studio                   # DB確認
npx prisma migrate dev              # DB変更時

パッケージ管理

# 本番向けクリーンインストール
npm ci

# パッケージ更新
npm update

# セキュリティ脆弱性修正
npm audit fix

# 未使用パッケージ検出
npx depcheck

💡 実践的なTips

1. エイリアス設定

# ~/.zshrc または ~/.bashrc に追加
alias ndev="npm run dev"
alias ntype="npx tsc --noEmit --skipLibCheck"
alias ncheck="npm run check:fix && npx tsc --noEmit"
alias pstudio="npx prisma studio"
alias pmigrate="npx prisma migrate dev"

2. package.json スクリプト活用

{
  "scripts": {
    "type-check": "tsc --noEmit --skipLibCheck",
    "db:migrate": "prisma migrate dev",
    "db:reset": "prisma migrate reset",
    "db:studio": "prisma studio",
    "full-check": "npm run check:fix && npm run type-check && npm run build"
  }
}

3. CI/CD向けコマンド

# 型チェック(CI用)
npm run type-check

# ビルドテスト
npm run build

# マイグレーション確認
npx prisma migrate deploy --dry-run

まとめ

適切なコマンドを使い分けることで:

  • 開発効率向上:型チェックとビルドの使い分け
  • 品質保証:コミット前の自動チェック
  • トラブル回避:データベース操作の安全性
  • チーム開発:統一されたワークフロー

開発段階に応じてコマンドを選択し、効率的な開発環境を構築しましょう!

Discussion