トラブルシューティング総合ガイド

トラブルシューティング総合ガイド

概要

Miyabi システムで発生する一般的な問題とその解決方法を網羅したガイドです。Agent、GitHub、ビルド、デプロイ、環境設定など、あらゆる問題のトラブルシューティングを提供します。

対象読者

  • すべての Miyabi ユーザー
  • システム管理者
  • サポートエンジニア

所要時間

  • 問題ごとに 5-15 分

前提知識

  • 基本的なコマンドライン操作
  • Git の基礎知識
  • エラーメッセージの読み方

目次

  1. 環境設定の問題
  2. GitHub 認証の問題
  3. Agent 実行の問題
  4. ビルドとテストの問題
  5. 並行実行の問題
  6. デプロイの問題
  7. Termux 特有の問題
  8. パフォーマンスの問題

環境設定の問題

問題 1: GITHUB_TOKEN が設定されていない

症状:

Error: GITHUB_TOKEN not set
Please set GITHUB_TOKEN environment variable

原因: 環境変数が未設定

解決方法:

# .env ファイルが存在するか確認
ls -la .env

# 存在しない場合は作成
echo "GITHUB_TOKEN=ghp_your_token_here" > .env

# 環境変数を source
set -a && source .env && set +a

# または直接設定
export GITHUB_TOKEN=ghp_your_token_here

# 確認
echo $GITHUB_TOKEN

関連: GitHub Token セットアップ


問題 2: Node.js バージョンが古い

症状:

Error: Miyabi requires Node.js 18 or higher
Current version: v16.20.0

原因: Node.js のバージョンが古い

解決方法:

# 現在のバージョン確認
node --version

# nvm を使用している場合
nvm install 20
nvm use 20

# または直接インストール
# macOS (Homebrew)
brew update
brew upgrade node

# Linux (apt)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# 確認
node --version  # v20.x.x 以上

問題 3: 依存関係のインストール失敗

症状:

npm ERR! code EINTEGRITY
npm ERR! sha512-... integrity checksum failed

原因: npm キャッシュの破損

解決方法:

# npm キャッシュをクリア
npm cache clean --force

# node_modules と package-lock.json を削除
rm -rf node_modules package-lock.json

# 再インストール
npm install

# または yarn の場合
yarn cache clean
rm -rf node_modules yarn.lock
yarn install

GitHub 認証の問題

問題 4: GitHub Token のスコープ不足

症状:

Error: Your token has not been granted the required scopes
Missing scopes: read:project, write:project

原因: Token に必要な権限がない

解決方法:

# 1. Token 設定ページにアクセス
open https://github.com/settings/tokens

# 2. 該当する Token を選択

# 3. 必要なスコープを追加
#    ✅ repo
#    ✅ workflow
#    ✅ read:project
#    ✅ write:project

# 4. "Update token" をクリック

# 5. .env ファイルを更新
# (Token が変更された場合のみ)

関連: GitHub Token セットアップ


問題 5: gh CLI と環境変数が異なる

症状: gh CLI は動作するが、Miyabi が認証エラーを出す

原因: gh CLI と GITHUB_TOKEN が別の認証を使用

解決方法:

# gh CLI の Token を環境変数に設定
export GITHUB_TOKEN=$(gh auth token)

# または .env ファイルに追加
echo "GITHUB_TOKEN=$(gh auth token)" >> .env

# 確認
gh auth status
echo $GITHUB_TOKEN

問題 6: Token の有効期限切れ

症状:

HTTP 401: Bad credentials

原因: Token が期限切れ

解決方法:

# gh CLI で再認証
gh auth refresh

# または新しい Token を作成
open https://github.com/settings/tokens

# 新しい Token を .env に設定

Agent 実行の問題

問題 7: Task tool API エラー

症状:

Error: Task tool API not available

原因: Claude Code Task tool 未実装

解決方法:

# 疑似実行モード(デフォルト)で動作確認
npm run agents:parallel:exec -- --issues=270

# デバッグログ有効化
DEBUG=agents:* npm run agents:parallel:exec -- --issues=270

問題 8: Agent が Issue を処理しない

症状: Agent が Issue を認識しない、または処理が始まらない

原因:

  • Label が不足している
  • Issue の形式が不適切
  • GitHub Actions が無効

解決方法:

# 1. Issue の Label を確認
gh issue view 270

# 2. 手動で Label を追加
gh issue edit 270 --add-label "✨feature"

# 3. 手動で Agent を実行
npm run agents:parallel:exec -- --issues=270

# 4. GitHub Actions のステータスを確認
gh workflow list
gh workflow view agentic-system

問題 9: Agent 実行がタイムアウト

症状:

Error: Agent execution timeout after 3600000ms

原因: タスクが複雑で時間がかかっている

解決方法:

# タイムアウト時間を延長
export AGENT_TIMEOUT=7200000  # 2時間

# または Issue をより小さなタスクに分割
gh issue create --title "Subtask 1"
gh issue create --title "Subtask 2"

ビルドとテストの問題

問題 10: TypeScript コンパイルエラー

症状:

Error: Type 'string' is not assignable to type 'number'

原因: 型エラー

解決方法:

# エラー箇所を確認
npm run typecheck

# 型定義を更新
# src/types.ts を修正

# 再度チェック
npm run typecheck

# ビルド
npm run build

問題 11: ESLint エラー

症状:

Error: ESLint found 15 errors

原因: コードスタイル違反

解決方法:

# 自動修正を試みる
npm run lint -- --fix

# 手動修正が必要なエラーを確認
npm run lint

# 特定のファイルのみチェック
npx eslint src/services/authService.ts

# エラーを修正後、再度確認
npm run lint

問題 12: テストが失敗する

症状:

FAIL tests/unit/auth.test.ts
  ● should authenticate user
    Expected: 200
    Received: 401

原因: テストの期待値とコードの実装が不一致

解決方法:

# 特定のテストを実行
npm test tests/unit/auth.test.ts

# デバッグモードで実行
npm test -- --reporter=verbose

# テストコードまたは実装を修正

# 全テストを再実行
npm test

並行実行の問題

問題 13: Worktree 競合

症状:

fatal: 'worktrees/issue-270' already exists

原因: 既存 worktree が残存

解決方法:

# 既存 worktree を確認
git worktree list

# 不要な worktree を削除
git worktree remove ~/Dev/worktrees/issue-270

# 自動クリーンアップ
git worktree prune

# 再実行
npm run agents:parallel:exec -- --issues=270

問題 14: 循環依存エラー

症状:

Error: Circular dependency detected: 300 → 270 → 300

原因: Issue 間の相互依存

解決方法:

# Issue 本文から依存記述を確認
gh issue view 300

# 依存関係を修正
gh issue edit 300 --body "依存: #270のみ"

# または循環依存を無視(非推奨)
npm run agents:parallel:exec -- --issues=300 --ignore-deps

問題 15: ファイルロック競合

症状:

Error: File lock conflict on src/auth.ts
Task 1 and Task 2 cannot run in parallel

原因: 複数タスクが同じファイルを変更しようとしている

解決方法:

# 並行度を下げる
npm run agents:parallel:exec -- --issues=270,240 --concurrency=1

# または Worktree 分離モードを使用
USE_WORKTREE=true npm run agents:parallel:exec -- --issues=270,240

デプロイの問題

問題 16: ビルド失敗

症状:

Error: Build failed with exit code 1

原因: TypeScript エラーまたは依存関係の問題

解決方法:

# 依存関係を再インストール
rm -rf node_modules package-lock.json
npm install

# TypeScript エラーを確認
npm run typecheck

# エラーを修正後、再ビルド
npm run build

# 成功を確認
ls -la dist/

問題 17: ヘルスチェック失敗

症状:

Error: Health check failed after 30s
GET https://example.com returned 502

原因: デプロイ後のサービスが起動していない

解決方法:

# ヘルスチェックのタイムアウトを延長
npm run healthcheck -- --timeout 60000

# サーバーログを確認
npm run logs -- --env production

# 必要に応じてロールバック
npm run rollback:production

問題 18: Firebase デプロイエラー

症状:

Error: HTTP Error: 403, The caller does not have permission

原因: Firebase Token の権限不足

解決方法:

# Firebase に再ログイン
firebase login

# Token を取得
firebase login:ci

# 環境変数に設定
export FIREBASE_TOKEN="1//0xxx..."

# 再デプロイ
firebase deploy

Termux 特有の問題

問題 19: ロケール警告

症状:

warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)

原因: Termux の制限

解決方法:

# .bashrc に追加
echo 'export LC_ALL=C' >> ~/.bashrc
echo 'export LANG=C' >> ~/.bashrc
source ~/.bashrc

影響: 機能には影響なし(警告のみ)


問題 20: Git 認証エラー

症状:

git: 'credential-!gh' is not a git command

原因: Git credential helper の設定問題

解決方法:

# Credential helper を修正
git config --global --unset-all credential.helper
git config --global credential.helper store

# gh CLI と連携
gh auth setup-git

# 確認
git config --list | grep credential

関連: Termux Android ガイド


パフォーマンスの問題

問題 21: Agent 実行が遅い

症状: Agent の実行に 30 分以上かかる

原因: 並行度が低い、またはタスクが大きすぎる

解決方法:

# 並行度を上げる
npm run agents:parallel:exec -- --issues=270 --concurrency=3

# Issue をより小さなタスクに分割
gh issue create --title "Subtask 1: Login UI"
gh issue create --title "Subtask 2: Login API"
gh issue create --title "Subtask 3: Login Tests"

問題 22: メモリ不足

症状:

FATAL ERROR: Reached heap limit Allocation failed

原因: Node.js のメモリ上限

解決方法:

# Node.js のメモリ上限を増やす
export NODE_OPTIONS="--max-old-space-size=4096"

# 並行度を下げる
export DEFAULT_CONCURRENCY=1

# 不要なプロセスを終了

問題 23: ネットワークタイムアウト

症状:

Error: Network request timeout after 30000ms

原因: ネットワーク接続が不安定

解決方法:

# タイムアウト時間を延長
export NETWORK_TIMEOUT=60000

# リトライ回数を増やす
export MAX_RETRIES=5

# 安定したネットワークに接続

デバッグテクニック

ログの確認

# Agent ログ
cat .ai/logs/*.md

# 並列実行レポート
cat .ai/parallel-reports/*.json | jq

# GitHub Actions ログ
gh run list
gh run view <run-id>

# システムログ(macOS)
log show --predicate 'process == "node"' --last 1h

# システムログ(Linux)
journalctl -u node -n 100

デバッグモード

# 詳細なログ出力
DEBUG=* npm run agents:parallel:exec -- --issues=270

# 特定のモジュールのみ
DEBUG=agents:coordinator npm run agents:parallel:exec -- --issues=270

# Verbose モード
npm run agents:parallel:exec -- --issues=270 --verbose

問題の報告

問題が解決しない場合は、以下の情報を含めて Issue を作成してください:

# システム情報を収集
cat > bug-report.txt << EOF
## 環境情報
- OS: $(uname -s)
- Node.js: $(node --version)
- npm: $(npm --version)
- Miyabi: $(npm list -g miyabi)

## エラーメッセージ
$(エラーメッセージをここに貼り付け)

## 再現手順
1. ...
2. ...
3. ...

## 期待される動作


## 実際の動作


## ログ
$(cat .ai/logs/*.md | tail -n 50)
EOF

# Issue を作成
gh issue create --title "Bug: ..." --body-file bug-report.txt

関連ドキュメント

サポート

コミュニティ

よくある質問

Q: エラーメッセージが日本語と英語が混在しています A: これは正常です。システムメッセージは環境の言語設定に依存します。

Q: 問題が複数のカテゴリに該当します A: 最も関連性の高いセクションから確認してください。問題が解決しない場合は、他のセクションも確認してください。

Q: ドキュメントに載っていない問題が発生しました A: GitHub Issues で報告してください。コミュニティまたはメンテナーが対応します。

予防的メンテナンス

定期的に以下を実行して問題を予防:

# 週次メンテナンス
npm update                          # 依存関係更新
npm audit fix                       # セキュリティ修正
git gc                              # Git リポジトリ最適化
find .ai/logs -mtime +30 -delete   # 古いログ削除

# 月次メンテナンス
npm outdated                        # 古いパッケージ確認
npm cache clean --force             # キャッシュクリア
gh auth refresh                     # Token 更新

最終更新: 2025-10-10 バージョン: 2.0.0 統合元: 複数ドキュメント(AGENT_OPERATIONS_MANUAL.md, TERMUX_GUIDE.md など) メンテナー: Miyabi Support Team