---
type: how-to
title: マーケットプレイスの公開失敗を直す
summary: "もっとも多いマーケットプレイスの公開失敗のための修正ガイド: 各エラーコードを、何が引き起こすかと、それを解消する正確な一度編集して再試行する手順とともに挙げます。何かを再チェックするよう私たちに頼む必要はありません。"
---

公開または更新のモーダルがエラーを返すとき、または公開失敗について私たちからメールを受けたとき、下であなたのエラーコードを見つけ、修正に従ってください。修正をリポジトリにプッシュしたら、公開または更新をもう一度クリックして即座に再チェックするか、次の日次のインデクサーの実行を待ってください。

ここに挙がるすべての失敗は、あなたがリポジトリで直せるものです。あなたのエラーがここにないなら、より珍しいコードについて [完全な公開エラーリファレンス](/docs/marketplace-game-development/publish-failed-reference) を確認してください。

## terms_accepted が設定されていない [#manifest-error-terms-accepted]

`caputchin.json` がトップレベルに `"terms_accepted": true` を持たないとき、これが見えます。

1. リポジトリの `caputchin.json` を開きます。
2. [マーケットプレイス投稿規約](/legal/submission-terms) を読みます。
3. マニフェストのトップレベルに `"terms_accepted": true` を追加します。
4. コミットしてプッシュします。
5. 公開または更新をもう一度クリックするか、次の日次のインデックスの実行を待ちます。

値はリテラルの JSON のブール値 `true` でなければなりません。文字列（`"true"`）、数値（`1`）、またはフィールドの省略は、すべて非承認として数えられます。

## ライセンスが承認された一覧にない [#manifest-error-license]

`license` が欠けている、不正、または私たちの [承認された一覧](/docs/marketplace-game-development/publish-failed-reference#approved-licenses) の外の識別子を名指すとき、これが見えます。

1. あなたのコードとバンドルされたアセットを本当にカバーする SPDX 識別子を、承認された一覧から選びます。
2. `caputchin.json` を開き、トップレベルに `license` フィールドを設定します。たとえば `"license": "MIT"`。
3. コードがデュアルライセンスなら、SPDX の `OR` 式を使います（例 `"MIT OR Apache-2.0"`）。少なくとも 1 つの枝が承認された一覧になければなりません。
4. コードが MIT だが Creative Commons のアセットをバンドルするなら、`AND` を使います（例 `"MIT AND CC-BY-4.0"`）。すべての枝が承認された一覧になければなりません。
5. コミット、プッシュ、再試行。

あなたのプロジェクトが、私たちの承認された一覧にないライセンス（最もよくあるのは GPL ファミリー、AGPL、LGPL）に依存するなら、唯一の修正は、影響を受けるコンポーネントの再ライセンスか除去です。私たちは作者ごとの例外を付与できません。

## あなたのリポジトリを見つけられませんでした [#repo-not-found]

私たちのマニフェストの取得が 404 を返すとき、これが見えます。

よくある原因と修正：

- あなたのリポジトリが非公開。公開にするか、インデックスに現れるのをやめるよう `caputchin-game` トピックを取り除きます。
- あなたのリポジトリに `caputchin-game` の GitHub トピックがない。リポジトリページの About セクションでそれを追加します。
- あなたのリポジトリのルートに `caputchin.json` がない（または、コレクションの子のゲームには、リーフディレクトリに `caputchin.json` がない）。
- あなたが入力したリポジトリの URL が間違っている。`owner/name` か完全な `https://github.com/owner/name` URL を使います。

`caputchin.json` をリポジトリにプッシュし、それから再試行してください。

## マニフェストの構造が不正 [#manifest-error-structure]

詳細が `entry`、`npm`、`games`、`marketplace.support`、`run.modules[0].name` のようなフィールド名で始まる `manifest-error` が見えます。

詳細は、どのフィールドが間違っているかを正確に教えます：

- `entry: entry must be a clean relative path`：あなたの `entry` の値がトラバーサル（`../`）、絶対のスラッシュ、クエリ文字列、空白を含みます。`dist/game.js` のようなクリーンなリポジトリ相対のパスを使います。
- `npm: npm package name is malformed`：あなたの `npm` フィールドが有効な npm の座標ではありません。`name` か `@scope/name`、英数字 + ハイフン + ドット + アンダースコアだけを使います。
- `games[i] must be a relative path inside the repo`：あなたのコレクションの `games` 配列の子のパスがリポジトリから逃げます。`../external` や `/abs/path` ではなく、`packages/leaf-memory` のようなパスを使います。
- `run.entry must be a clean relative path`：`entry` と同じ衛生のルールを、任意の分割 run のエントリーに適用したもの。
- `run.modules[i].name`：モジュール名は `[a-zA-Z0-9_-]+\.(wasm|js)$` に一致しなければならず、`entry.js` か `artifact.js` ではいられません。

名指されたフィールドをルールに従って編集し、コミット、プッシュ、再試行してください。

## marketplace.author に無効なメールがある [#manifest-error-author-email]

`marketplace.author.email` が存在するが、通常のメールの形（1 つの `@`、ドット付きのドメイン、空白なし）に一致しないとき、これが見えます。

1. `caputchin.json` を開きます。
2. `marketplace.author.email` を見つけます。
3. 値を本物のメールアドレス（私たちは公開失敗の通知にだけそれを使います）に直すか、フィールドを丸ごと取り除きます。
4. コミット、プッシュ、再試行。

公開失敗の通知を受け取りたくないなら、`marketplace.author` ブロック全体も取り除けます。

## あなたの run アーティファクトが非決定論的 [#run-not-conforming]

私たちの適合のスモークがあなたのゲームの `run(seed, trace)` 関数を走らせ、それが適合する判定を生まないとき、これが見えます。

重要：これは致命的な公開失敗ではありません。あなたのゲームはなおマーケットプレイスの閲覧に一覧され、埋め込めます。ただ **リプレイ不可** と表示され、決定論の問題が直るまでサイトキーをゲートできません。

よくある原因：

- あなたのシミュレーションが `Date.now()`、`performance.now()`、`Math.random()`、ほかの非決定論的なグローバルを読む。
- あなたのシミュレーションが、私たちがリプレイ時に提供しない外部の状態（DOM、ネットワーク、ストレージ）を読む。
- あなたのシミュレーションが、ランタイム間で違う浮動小数点の算術に依存する。

シミュレーションをシードとトレースの純粋な関数になるよう直し、プッシュ、再試行してください。決定論のルールは [リプレイ契約](/docs/marketplace-game-development/replay-contract#determinism-is-the-whole-requirement) を参照し、決定論的なシード可能な RNG と時計を提供する任意の [エンジンキット](/docs/marketplace-game-development/engine-kit) を検討してください。

## バンドルの取得が失敗 [#bundle-fetch-failed]

`entry` および/または `npm` によって固定されたバンドルの URL が取得できない、非 2xx を返す、または 12MB を超えるとき、これが見えます。

- 新しいバージョンをプッシュしたばかりなら：CDN がまだ伝播していないかもしれません。1 分待って再試行します。
- バンドルが 12MB を超えるなら：アセットを削る、`run` の宣言でモジュールに分割する、または大きなアセットを別の配信のパスに移します。
- あなたの `npm` パッケージがまだ公開されていないなら：先にそれを公開します。私たちは公開されていないバージョンを取得できません。

## 公開リクエストが多すぎる [#rate-limited]

過去 60 秒に 10 を超えるリクエストを送信したとき、手動公開のモーダルでこれが見えます。

60 秒待って再試行してください。制限を上げる方法はありません。それはエンドポイントを濫用から守ります。

## 通知メールを止める

公開失敗のメールを受け取るのを止めたいなら、[投稿規約のセクション 10](/legal/submission-terms) を参照してください。受信者のアドレスは、マニフェストのあなたの `marketplace.author.email` です。それを取り除くか変えるとメールが止まります。

## あわせて読む

- [完全な公開エラーリファレンス](/docs/marketplace-game-development/publish-failed-reference)
- [マーケットプレイスに公開する](/docs/marketplace-game-development/publish-to-the-marketplace)
- [マーケットプレイス投稿規約](/legal/submission-terms)
