mcpField
G
gpc-troubleshooting

gpc-troubleshooting

github.com/yasserstudio開発140 回インストール1 週間前に更新
リポジトリ

gpc-troubleshooting について

GPCのコマンド失敗、終了コード、設定、認証、API、ネットワークの問題を診断するスキルです。迅速な確認手順とエラー別の説明・対処法をまとめ、CIの事例も扱います。

主な機能

  1. 01ヘルス状態とバージョンの確認
  2. 02終了コードの解釈
  3. 03認証と設定の診断
  4. 04APIおよびネットワークエラーの案内
  5. 05アップロードとリリースのトラブル対応
  6. 06CIのしきい値失敗の説明

活用シーン

  1. 01失敗したGPCコマンドの調査
  2. 02CIで失敗したGPC手順の診断
  3. 03認証または設定エラーの解消
  4. 04API、アップロード、しきい値の終了コード解釈

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yasserstudio/gpc-skills --skill gpc-troubleshooting

インストール後、Claude Code で/gpc-troubleshootingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
error-catalog.md
exit-codes.md
scripts/
detect_gpc.mjs

詳細

gpc-troubleshooting

すべての GPC エラー、終了コード、一般的な問題に対応する統合デバッグガイドです。

使用する場面

  • GPC コマンドがエラーコードを返して失敗した場合
  • gpc doctor で問題が報告された場合
  • CI パイプラインの GPC ステップが失敗した場合
  • 想定外の動作や出力が発生した場合
  • 終了コードの意味を確認したい場合
  • 詳細/デバッグ出力を有効にしたい場合

必要な入力

  • エラーメッセージまたは終了コード — GPC が報告した内容
  • 失敗したコマンド — 実行したコマンド全体
  • 環境 — ローカルか CI か、OS、Node.js のバージョン

手順

0. クイック診断
# Check GPC health
gpc doctor

# Get version info
gpc --version

# Run failing command with verbose output
GPC_DEBUG=1 gpc <failing-command>

# Get error as JSON for parsing (also: --output csv, --output tsv since v0.9.68)
gpc <failing-command> --json

Read: references/exit-codes.md で終了コードの全リファレンスを確認してください。

1. 終了コード
コードカテゴリ意味
0成功コマンドが正常に完了しました
1設定設定エラー(.gpcrc.json がない、フィールドが無効など)
2使用方法引数またはフラグが無効です
3認証認証に失敗しました(トークンの期限切れ、キーが無効、認証情報がないなど)
4APIGoogle Play API エラー(403、404、408、409、レート制限)
5ネットワーク接続エラー、DNS エラー、タイムアウト
6しきい値バイタルのしきい値を超過した、または比較する値が返されなかった(CI のゲート処理で使用)
10プラグインプラグイン権限の検証エラー

v1.0.0-rc.1 で変更されました。 不明なオプションや引数の不足など、使用方法の誤りは、この表に以前から記載されていたとおり、終了コード 2 を返すようになりました。以前は 1 を返していました。バイタルまたは異常の 403 は、「データなし」と表示して 0 で終了するのではなく、4 を返すようになりました。ターミナルがない状態で --yes を指定せずに返金または取り消しを行うと、CONFIRMATION_REQUIRED とともに 2 を返すようになりました。特定のコードに基づいて分岐する CI ジョブを確認してください。

コード終了コード発生条件対処方法
CONFIRMATION_REQUIRED2purchases orders refund / orders review-refund / purchases subscription revoke / external-transactions refund を、--yes を指定せずに非対話型で実行した(CI、パイプ入力、--no-interactive)内容を確認したうえで --yes を追加するか、--dry-run でプレビューしてください。プレビューでは --yes は不要です
IMAGE_SYNC_DIR_UNREADABLE1listings images sync がローカルの画像ディレクトリを読み取れなかった権限(CI ではボリュームの所有権も)を修正してください。Google Play 上のデータは変更されていません
THRESHOLD_NO_DATA6vitals ... --threshold にメトリック値が返されなかった(--app の指定誤り、データの遅延、トラフィックがないなど)--app を確認し、--days の範囲を広げるか、その実行では --threshold を外してください
THRESHOLD_INVALID2レートのしきい値が 1 以上(v1.0.0-rc.2 以降)。レートは小数で指定します--threshold 0.02 は 2% を意味します。vitals.thresholds.* も修正してください
TRAIN_GATE_NO_DATA6gpc train advance にゲートデータがなく、現在のステージに留まった(v1.0.0-rc.2 以降)バイタルの反映には 2~4 日かかります。後でもう一度実行してください
API_METRIC_GAMES_ONLY4ゲーム以外のアプリで vitals rendering を実行した(v1.0.0-rc.2 以降)想定どおりの動作です。レンダリングの低速に関する指標はゲームのみが対象です。認証情報の問題ではありません
INVALID_PACKAGE_NAME2--app / GPC_APP の形式が正しくない(v1.0.0-rc.2 以降)--app com.example.app または -a com.example.app を指定してください
2. 認証エラー(終了コード 3)

Read: references/error-catalog.md でエラーカタログの全内容を確認してください。

エラー原因対処方法
AUTH_FAILED認証情報が無効または破損していますgpc auth login --service-account <key.json> を再実行してください
AUTH_EXPIREDトークンの期限が切れ、更新にも失敗しました再認証し、ネットワーク/プロキシを確認してください
AUTH_NO_CREDENTIALS認証が設定されていませんgpc auth login を実行するか、GPC_SERVICE_ACCOUNT を設定してください
AUTH_INVALID_KEYサービスアカウントの JSON 形式が正しくありませんGoogle Cloud Console からキーを再ダウンロードしてください
AUTH_KEYCHAIN_ERROROS のキーチェーンへのアクセスが拒否されましたキーチェーンへのアクセスを許可するか、環境変数による認証を使用してください
# Check current auth status
gpc auth status

# Re-authenticate
gpc auth login --service-account ~/path/to/key.json

# Bypass keychain with env var
export GPC_SERVICE_ACCOUNT=$(cat ~/path/to/key.json)
3. API エラー(終了コード 4)
エラーHTTP原因対処方法
API_FORBIDDEN403権限が不足していますPlay Console で必要なロールを付与してください
API_NOT_FOUND404アプリ、トラック、またはリソースが存在しませんパッケージ名、トラック名、またはリソース ID を確認してください
API_CONFLICT409すでに編集中です待ってから再試行してください。別の編集が開いている可能性があります
API_RATE_LIMITED429リクエストが多すぎますGPC は自動的に再試行します。GPC_BASE_DELAY を増やしてください
API_REQUEST_TIMEOUT408リクエストがタイムアウトしましたGPC は指数バックオフを使用して自動的に再試行します
API_SERVER_ERROR5xxGoogle のサーバーで問題が発生しています後でもう一度お試しください。Google のステータスダッシュボードを確認してください
EDIT_CONFLICT409別のツールまたはユーザーによる同時編集です編集は一度に 1 つだけ行えます。Fastlane または Play Console で編集中になっていないか確認してください
API_DUPLICATE_VERSION_CODE409このバージョンコードはすでにアップロードされていますbuild.gradle の versionCode を増やして、再ビルドしてください
API_VERSION_CODE_TOO_LOW400バージョンコードが現在の値より小さいですトラックごとにバージョンコードを増やす必要があります
API_PACKAGE_NAME_MISMATCH400applicationId が対象アプリと一致しませんapplicationId が対象アプリと一致することを確認してください
API_APP_NOT_FOUND404デベロッパーアカウントにアプリがありませんパッケージ名とデベロッパーアカウントを確認してください
API_INSUFFICIENT_PERMISSIONS403サービスアカウントに必要な権限がありませんPlay Console → 設定 → API アクセスで必要なロールを付与してください
API_DECLARATION_REQUIRED403Play Console の「アプリのコンテンツ」の申告が完了していませんポリシー > アプリのコンテンツで完了してください。権限の問題ではないため、ロールを変更しても解決しません
API_ALREADY_EXISTS409作成しようとしたリソースはすでに存在しますcreate ではなく、対応する update コマンドを使用してください(例:gpc otp offers update)
API_ENDPOINT_RETIRED404Google が公開 API からエンドポイントを削除しましたCLI では解決できません。Play Console で作業してください。現在は gpc games ... set-icon に影響します
API_CHANGES_NOT_SENT_FOR_REVIEW400/403アプリの更新が却下されており、審査フラグが必要ですコマンドに --changes-not-sent-for-review フラグを追加してください
API_CHANGES_ALREADY_IN_REVIEW400変更はすでに審査中であり、新しいコミットを行うと通知なしに審査がキャンセルされます通知なしのキャンセルを防ぐには --error-if-in-review を使用してください
API_EDIT_EXPIRED410開いている編集セッションの有効期限が切れています(編集セッションは約 30 分間操作がないと期限切れになります)GPC は、コマンドを再試行するよう提案する明確な API_EDIT_EXPIRED メッセージを表示するようになりました。再試行すると、コマンドによって新しい編集セッションが自動的に作成されます。
API_ROLLOUT_DECREASE_FORBIDDEN400段階的ロールアウトの割合は増やすことはできますが、減らすことはできませんロールアウトを停止するには、gpc releases rollout halt --track production を使用してください。続行するには、より高い割合を指定して gpc releases rollout increase を使用してください。
# Check if an edit is stuck
gpc apps list --json

# API errors include suggestion field
gpc releases upload app.aab --track beta --json 2>&1 | jq '.error'
4. ネットワークエラー(終了コード 5)
エラー原因対処方法
NETWORK_ERROR接続に失敗しましたインターネット接続とプロキシ設定を確認してください
NETWORK_TIMEOUTリクエストがタイムアウトしましたGPC_TIMEOUT を増やしてください(デフォルトは 30000ms)
NETWORK_DNSDNS の名前解決に失敗しましたDNS 設定を確認してください。Google DNS(8.8.8.8)をお試しください
NETWORK_SSLSSL/TLS ハンドシェイクに失敗しましたカスタム CA を使用する場合は GPC_CA_CERT を設定してください。プロキシも確認してください
# Increase timeout for large uploads
export GPC_TIMEOUT=120000

# Configure retry behavior
export GPC_MAX_RETRIES=5
export GPC_BASE_DELAY=2000
export GPC_MAX_DELAY=30000

# Corporate proxy
export HTTPS_PROXY=http://proxy.corp:8080

# Custom CA certificate
export GPC_CA_CERT=/path/to/ca-cert.pem
5. 設定エラー(終了コード 1)
エラー原因対処法
CONFIG_MISSING.gpcrc.json または環境変数がありませんgpc setup(v0.9.68+)または gpc config init を実行します
CONFIG_INVALID.gpcrc.json の形式が正しくありませんJSON の構文を検証します
CONFIG_INVALID_JSON設定ファイルに構文エラーがあります(v0.9.80+)cat <file> | python3 -m json.tool を実行してエラーを特定します
CONFIG_INVALID_KEYキーが空、不正な形式、または予約名です(v0.9.80+)有効な英数字のプロファイル名/キー名を使用します
CONFIG_APP_MISSINGアプリが指定されていませんgpc config set app または --app フラグで設定します

設定の優先順位に関する修正(v0.9.81+): v0.9.81 より前は、アクティブなプロファイルが GPC_SERVICE_ACCOUNT/GPC_APP 環境変数や --service-account/--app フラグよりも暗黙に優先されていました。これは不具合でした。v0.9.81 以降は、文書化された優先順位が適用されます。フラグが環境変数より優先され、環境変数がアクティブなプロファイルより優先され、アクティブなプロファイルがデフォルト値より優先されます。環境変数が無視されているように見える場合は、gpc config list でアクティブなプロファイルが設定されているか確認し、更新するか無効にしてください。

# Initialize config
gpc config init

# Set required values
gpc config set app com.example.app

# Check current config
gpc config list
6. アップロードとリリースのエラー
エラー原因対処法
INVALID_BUNDLEAAB が破損しているか、形式が正しくありませんAAB を再ビルドし、先に gpc validate を実行します
VERSION_CODE_CONFLICTバージョンコードがすでに使用されていますbuild.gradle の versionCode を増やします
RELEASE_NOT_FOUND指定されたトラックにリリースがありませんトラック名を確認し、gpc releases list --track <track> を使用します
RELEASES_USAGE_ERROR / PUBLISH_USAGE_ERROR(終了コード 2)ロールアウトの値が 1~100 の範囲外です--rollout と --to はパーセンテージです。--rollout 0.1 ではなく --rollout 10 を指定します
PROMOTE_NO_SOURCE移行元トラックに昇格できるリリースがありません先に移行元トラックへアップロードします
UPLOAD_CHUNK_FAILED再試行後もチャンクを送信できませんでしたネットワークを確認し、GPC_MAX_RETRIES または GPC_UPLOAD_TIMEOUT を増やします
UPLOAD_NO_COMPLETIONすべてのバイトを送信しましたが、完了応答がありませんアップロードを再試行し、GPC_UPLOAD_TIMEOUT を確認します
UPLOAD_INITIATE_FAILEDセッションの開始に失敗しました認証と権限を確認し、再試行します
UPLOAD_NO_SESSION_URI開始応答に Location ヘッダーがありませんAPI エラーです。再試行するか、サービスアカウントの権限を確認します
UPLOAD_SESSION_NOT_FOUNDセッションの有効期限が切れました(404)新しいアップロードセッションを開始します
UPLOAD_SESSION_EXPIREDセッションが失効しました(410)新しいアップロードセッションを開始します
UPLOAD_INVALID_CHUNK_SIZEチャンクサイズが 256 KB の倍数ではありませんGPC_UPLOAD_CHUNK_SIZE に 262144(256 KB)の倍数を設定します
EDIT_VALIDATE_FAILEDアップロード後の検証/コミット中に一時的な失敗が発生しましたv0.9.77 以降、複数回の再試行ガード(15 秒、30 秒、45 秒)付きで自動再試行されます。解消しない場合は、バンドルのステータスを確認します
REVIEW_SKIPPED内部トラックのコミットが完了し、Google の審査キューに入りませんでした想定された動作です。internal トラックでは審査は不要です。GPC は構造化 JSON 出力に reviewSkipped: true(v0.9.79+)を設定し、コミットが直ちに完了したことを示します
# Validate before uploading
gpc validate app.aab

# Check existing releases
gpc releases list --track internal
gpc releases list --track beta

# Preview upload
gpc releases upload app.aab --track beta --dry-run
コミットの拒否:reviewPending の構造化出力(v0.9.79+)

Google が審査を要求したため edits.commit が拒否された場合、--json 出力には単純なエラーではなく、構造化された結果が含まれます。

{
  "reviewPending": true,
  "nextStep": "Your changes are under Google review. Check Play Console for status or use --changes-not-sent-for-review to bypass review for non-reviewed tracks."
}

CI パイプラインでは reviewPending === true を条件にして、待機、通知、終了のいずれを行うか判断できます。nextStep フィールドには、次に何をすべきかを示す、人が読める説明が常に含まれます。

7. Vitals のしきい値超過(終了コード 6)

終了コード 6 はエラーではありません。Vitals のメトリクスがしきい値を超えたことを示す、意図的なシグナルです。CI のゲートとして使用されます。

# This exits 6 if crash rate > 2.0%
gpc vitals crashes --threshold 0.02

# Check the actual value
gpc vitals crashes --json | jq '.crashRate'

# In CI, use exit code to gate promotion
gpc vitals crashes --threshold 0.015 && gpc releases promote --from beta --to production
7a. 注文の返金レビューエラー(終了コード 2、v0.9.96+)
コード意味修正方法
ORDER_REVIEW_REFUND_INVALIDgpc purchases orders review-refund に無効な入力が渡されました。--sample-content-provided に回答していない、--consumption-percent が 0~100 の範囲外、または --usage-events-file がオブジェクトの JSON 配列ではない場合に発生します--sample-content-provided / --no-sample-content-provided のいずれか一方だけを指定し、--consumption-percent 45.2 のような単純な小数を使い、ファイルを [{ "consumptionTime": "2026-08-30T10:15:00Z" }] のような配列にしてください

何かが送信される前にローカルで拒否されるため、コマンドに不備があっても Google の24時間の応答期間が一部消費されることはありません。空、または空白のみの --consumption-percent は、0%ではなく未指定として扱われます。

8. プラグインエラー(終了コード 10)
エラー原因修正方法
PLUGIN_INVALID_PERMISSIONサードパーティ製プラグインが不明な権限を宣言していますplugin-sdk のドキュメントで有効な権限を確認してください
PLUGIN_PERMISSIONS_REQUIREDサードパーティ製プラグインが gpc.permissions を宣言していません(v0.9.94+)作成者に使用するフックを宣言するよう依頼し、その後、再度承認してください
PLUGIN_IDENTITY_MISMATCH指定子はファーストパーティパッケージを示していますが、別の場所に解決されます(v0.9.94+)@gpc-cli/plugin-ci の npm エイリアスまたはローカル置換を削除してください
プラグインが読み込まれない設定にない、または承認されていません.gpcrc.json の plugins と approvedPlugins に追加してください
フック内のプラグインエラープラグインハンドラーのバグですプラグインのログを確認してください。onError / API フックはエラーを握りつぶします
変更履歴の生成エラー(v0.9.61+)
コード意味修正方法
CHANGELOG_NO_TAGv* の Git タグが見つからず、--from も渡されていませんタグを作成する(git tag v0.0.1)か、--from <ref> を渡してください
CHANGELOG_BAD_REF--from または --to の ref が存在しませんgit rev-parse --verify <ref> を実行して確認してください
CHANGELOG_LOCALES_REQUIRED--target play-store が --locales なしで渡されました(v0.9.62+)--locales en-US,fr-FR または --locales auto を渡してください
CHANGELOG_LOCALES_INVALID1つ以上の --locales が有効な BCP 47 ではありません(v0.9.62+)en-US、fr-FR、de-DE など、Play Store 対応のコードを使ってください
CHANGELOG_LOCALES_AUTO_NO_APP認証済みのクライアントとアプリがない状態で --locales auto が指定されました(v0.9.62+)--app <package> を渡すか、config.app を設定し、認証情報を確認してください
CHANGELOG_FETCH_FAILEDGitHub API に接続できないか、エラーが返されました(v0.9.80+)ネットワークを確認してください。変更履歴はドキュメントサイトで確認できます
CHANGELOG_VERSION_NOT_FOUNDGitHub リリースに要求されたバージョンが見つかりません(v0.9.80+)gpc changelog --limit 10 を実行して、利用可能なバージョンを確認してください
WATCH_WEBHOOK_FAILEDWebhook エンドポイントが 2xx 以外を返しました(v0.9.80+)Webhook URL とサーバーの状態を確認してください
CHANGELOG_LOCALES_EMPTY--locales auto の結果、ロケールが0件でした(v0.9.62+)Play Store の掲載情報を少なくとも1つ作成するか、明示的に --locales を渡してください
RELEASE_NO_DRAFT--apply の実行時に、対象トラックにドラフトリリースが見つかりませんでした(v0.9.64+)先にドラフトリリースを作成してください(gpc releases upload --status draft)
BUNDLE_PROCESSING_TIMEOUTAAB のアップロードは完了しましたが、約86秒以内にバンドルが処理されませんでした(v0.9.64+、v0.9.77 で延長)アップロードを再試行するか、--status draft を使って後でコミットしてください。問題が続く場合は、バンドルのサイズと Google のサーバーの状態を確認してください
一括レポートのエラー(v0.9.93以降)

gpc reports list と gpc reports download stats|financial は、デベロッパーアカウントにリンクされた Cloud Storage バケット(pubsite_prod_<developerId>)から、Play の月次一括レポート CSV を読み取ります。v0.9.93 より前は、これらのコマンドは案内を表示するだけでしたが、現在は実際にネットワーク処理を行い、専用のエラーコードを返します。

コード終了コード意味対処方法
REPORT_ACCESS_DENIED4認証情報は有効ですが、レポートバケットの読み取りが許可されていませんPlay Console -> ユーザーと権限 -> サービスアカウント -> アカウントの権限 -> 「アプリ情報の表示と一括レポートのダウンロード(読み取り専用)」を有効にして、数分待ってから再試行してください
REPORT_AUTH_REJECTED3Google がトークン自体を拒否しました(HTTP 401)gpc auth status でキーを確認し、システム時計を検証してから、gpc auth clear-cache を実行して再試行してください
REPORT_BUCKET_UNKNOWN2バケットが設定されておらず、バケット名を導出するデベロッパー ID もありませんdeveloperId / GPC_DEVELOPER_ID を設定するか、--bucket / GPC_REPORTS_BUCKET / reports.bucket を指定してください
REPORT_BUCKET_INVALID2設定されたバケット名が有効な GCS バケット名ではありませんPlay Console -> レポートのダウンロードから Cloud Storage URI を正確にコピーしてください(gs:// URI も指定でき、バケット名に変換されます)
REPORT_BUCKET_NOT_FOUND4バケットが存在しないか、このアカウントから見えません名前を確認してください。デフォルトは pubsite_prod_<developerId> です
REPORT_OBJECT_NOT_FOUND4指定した種類/月/ディメンションに一致するオブジェクトがありませんエラーに利用可能なディメンションまたは月が表示されます。月次レポートは、その月が終わった後にのみ公開されます
REPORT_LIST_FAILED4バケット一覧の取得に失敗しました再試行し、ネットワークと gpc doctor を確認してください
REPORT_DOWNLOAD_FAILED4オブジェクトの取得に失敗しました再試行し、ネットワークを確認してください
REPORT_DECODE_FAILED4オブジェクトを gunzip できないか、UTF-16 からデコードできませんでしたダウンロードを再試行してください。解決しない場合は、--output-file で生のオブジェクトを保存して報告してください
REPORT_ARCHIVE_UNREADABLE4財務 ZIP アーカイブを読み取れませんでした--output-file report.zip で生のアーカイブを保存し、ローカルで開いてください
REPORT_MULTIPLE_ENTRIES2財務アーカイブに複数の CSV が含まれているため、単一の項目として出力できません--output-file report.zip でアーカイブを保存するか、--json ですべての項目をインライン出力してください
INVALID_REPORT_DIMENSION2--dimension がサポートされている値のいずれでもありませんoverview、country、language、os_version、device、app_version、carrier、traffic_source のいずれかを使用してください(レビューのレポートにはディメンションがありません)
MISSING_REQUIRED_OPTION2--month や --type などの必須フラグが省略されています概要を確認してください。統計のダウンロードには --month と --type が必要です
INVALID_LIMIT2--limit が正の整数ではありません正の整数を指定してください

gpc doctor には reports-bucket プローブが含まれています。権限付与が不足している場合(403/401)やバケット名が間違っている場合(404)に警告するため、コマンドのデバッグ前に設定を確認する最も手早い方法です。

9. デバッグモード

任意のコマンドで詳細出力を有効にします。

# Debug environment variable
GPC_DEBUG=1 gpc releases upload app.aab --track beta

# JSON output for machine parsing
gpc releases upload app.aab --track beta --json

# Combine for maximum detail
GPC_DEBUG=1 gpc releases upload app.aab --track beta --json 2>debug.log
10. 再試行可能な HTTP ステータスコード

GPC は、以下の HTTP ステータスコードに対して指数バックオフで自動的に再試行します。

  • 408 — リクエストタイムアウト
  • 429 — リクエストが多すぎます(レート制限)
  • 5xx — サーバーエラー(500、502、503 など)

再試行の動作を設定します。

export GPC_MAX_RETRIES=5        # Default: 5
export GPC_BASE_DELAY=1000      # Initial delay in ms
export GPC_MAX_DELAY=15000      # Max delay in ms
export GPC_UPLOAD_TIMEOUT=300000  # Upload timeout in ms (5 min)

検証

  • gpc doctor ですべてのチェックに合格する
  • 失敗していたコマンドが成功するか、明確で対処可能なエラーを表示する
  • 終了コードが想定されるカテゴリと一致する
  • --json の出力に error.code、error.message、error.suggestion が含まれる

障害モード/デバッグ

症状考えられる原因対処方法
gpc doctor が認証で失敗する認証情報が設定されていないgpc setup(v0.9.68+)または gpc auth login を実行します
gpc doctor が API で失敗するサービスアカウントに API アクセス権がないGCP で Google Play Developer API を有効にします
gpc doctor がクォータの警告を表示する1 日または 1 分あたりの API クォータを 80% 超使用しているリクエスト頻度を下げるか、Google にクォータの引き上げを依頼します(v0.9.71+)
gpc doctor がプラグインエラーを表示する設定済みのプラグインの読み込みに失敗しているプラグインパッケージのバージョンを確認し、再インストールするか、設定から削除します(v0.9.71+)
gpc doctor --verify で不一致が発生するローカルのキーストアが Play の署名証明書と異なるローカルキーを Play Console に登録するか、Play App Signing を使用します(v0.9.75+)
すべてのコマンドがタイムアウトするネットワーク/プロキシの問題HTTPS_PROXY、GPC_CA_CERT、GPC_TIMEOUT を確認します
NETWORK_ERROR: "A proxy is configured ... could not route requests through it"HTTPS_PROXY/HTTP_PROXY の形式が正しくない(v0.9.98+ では直接接続せず、エラーになります)URL を修正する(例:http://proxy.example.com:8080)か、変数の設定を解除します。プロキシを経由しないホストには NO_PROXY を使用します
users list/users get: "Pagination is not currently available"Google がページネーション付きのユーザーリクエストを拒否するようになった(v0.9.98 より前の GPC)v0.9.98+ にアップグレードします
gpc doctor が "Unknown config keys: legacyApprovedPlugins, pluginApprovalPolicyVersion"(または vitals/games/reports)という警告を表示する既知のキー一覧が古い(v0.9.98 より前)。これらのキーは有効ですv0.9.98+ にアップグレードします。設定を変更する必要はありません
ローカルではコマンドが動作するが、CI では失敗するCI に環境変数が設定されていないCI のシークレットに GPC_SERVICE_ACCOUNT と GPC_APP を設定し、gpc setup --auto を実行します(v0.9.68+)
環境変数 GPC_SERVICE_ACCOUNT/GPC_APP が無視されているように見えるアクティブなプロファイルが環境変数を上書きしている(v0.9.81 より前のバグ)v0.9.81+ にアップグレードします。gpc config list でアクティブなプロファイルを確認します。環境変数とフラグがプロファイルより正しく優先されるようになりました。
npm install -g @gpc-cli/cli が EUNSUPPORTEDPROTOCOL で失敗するworkspace:* 指定子が公開済みマニフェストに混入していた(v0.9.77-v0.9.83)v0.9.84+ または v0.9.85+ で再インストールします:npm install -g @gpc-cli/cli@latest。v0.9.84 で修正され(cli+core)、v0.9.85 で完全に解決しました(api パッケージを再公開)。
gpc doctor が reports-bucket について警告するサービスアカウントに一括レポートの権限がない、またはバケット名が正しくないPlay Console で「アプリ情報の表示と一括レポートのダウンロード(読み取り専用)」を有効にするか、--bucket/GPC_REPORTS_BUCKET で正確なバケットを設定します(v0.9.93+)
権限を付与した直後もレポートへのアクセスが拒否される権限付与が反映されていないか、キャッシュされたトークンが権限付与前に発行された数分待ってから gpc auth clear-cache を実行し、再試行します(v0.9.93+)
JSON 出力に suggestion がない想定外のエラータイプバグを報告してください。すべてのエラーに提案が表示されるべきです

関連スキル

  • gpc-setup — 初期認証と設定
  • gpc-ci-integration — CI 固有のトラブルシューティング
  • gpc-vitals-monitoring — 閾値超過の理解
  • gpc-plugin-development — プラグインの問題のデバッグ

コメント