EADDRINUSE(ポートが既に使用中)
意味: アプリが同じネットワークポートを二重にバインドしようとしています。 発生理由: コード内で 2 つのサーバーが起動しているか、app.listen(...) のようなリスナー呼び出しが(例えばリクエストごと、再接続ごとなど)イベントハンドラの中で毎回再作成され、起動時に一度だけ実行されるべきものが繰り返されています。
修正方法:
- ポート
80で待ち受ける Web サーバーを 1 つだけ、一度だけバインドします。 - コード内に
.listen()(Node)やrun()(Python/Flask/Django)の呼び出しが複数ないか検索し、重複を削除します。 - listen の呼び出しが、複数回発火しうるコールバックの中ではなく、起動ファイルのトップレベルにあることを確認します。
Square Cloud の動的アプリはホスト
0.0.0.0、ポート 80 にバインドする必要があります。localhost/127.0.0.1 や他のポートにバインドすると、サイトタイムアウトが発生します。“Cannot find module”(Node.js)と ModuleNotFoundError(Python)
意味: コードがインポートしているパッケージが依存関係ファイルに含まれていません。 発生理由: ライブラリがpackage.json の dependencies(Node)や requirements.txt/pyproject.toml(Python)に記載されていないため、ローカル環境では動作していても、プラットフォーム上ではインストールされません。
修正方法:
- 不足しているパッケージを、有効なバージョンとともに依存関係ファイルに追加します。
- 依存関係ファイル自体がアップロードした
.zipに含まれていることを確認します。 - アプリケーションを再起動します。Node.js の場合、クリーンな再インストールには事前に
node_modulesの削除が必要です(node_modulesとpackage-lock.jsonを削除してから再起動すると、プラットフォームがクリーンな状態から再インストールします)。
INVALID_DEPENDENCY
意味: 依存関係ファイル内のエントリが存在しないか、無効/利用不可なバージョンを指しているため、デプロイが失敗しました。 修正方法:package.json / requirements.txt / pyproject.toml を開き、該当するエントリのパッケージ名やバージョン範囲の誤りを修正して、再デプロイしてください。
CONTAINER_TEMPORARILY_SUSPENDED
意味: コンテナがプラットフォームによって一時停止されました。 発生理由: このステータスは、自動的なリソース悪用防止機能によって発生し、最も多い原因は次のとおりです。- OOM(RAM): アプリが設定された
MEMORYを超過しようとし、プロセスが強制終了されました。 - CPU の悪用: アプリが割り当てられた CPU を継続的に超過したため、ノードを保護するためにプロセスが一時停止されました。
- リクエストの悪用:
.squareweb.appドメインやメッセージング API(Discord、Telegram、WhatsApp)へのトラフィックの安全上限に達しました。ほとんどの場合、実際の人気ではなく、無限ループやキャッシュの欠如が原因です。
KEEP_CALM
意味: snapshot 関連の操作が短時間に連続してリクエストされました。 発生理由: あなた(または自動化)が、snapshot リクエストの間に設けられた短いクールダウンが経過する前に再度 snapshot をリクエストしたか、現在のプランの1日あたりの snapshot 上限に達しました。これはDAILY_SNAPSHOTS_LIMIT_REACHED(プランの1日あたりの上限が使い切られたことを明示的に示す)とは異なる点に注意してください。KEEP_CALM は、1日あたりの回数とは無関係に、アプリごとのより短いリクエスト間クールダウンでも発生することがあります。
修正方法: 数分待ってから再度試してください。1日の上限に達した場合は、翌日まで待つか、自動 snapshot の上限が高いプランにアップグレードしてください。
better-sqlite3 / ネイティブバインディングのエラー
意味: アプリがbetter-sqlite3(直接、または quick.db 経由)を使用している場合に、Could not locate the bindings file のようなエラーが発生します。
発生理由: インストールされている better-sqlite3 のバージョンがプラットフォームの現行 Node.js LTS より古いため、そのプリビルド済みネイティブバインディングがランタイムと一致しません。
修正方法:
better-sqlite3を12.5.0以降に更新します(quick.dbを使用している場合は9.1.7以降に更新してください)。node_modulesとpackage-lock.jsonを削除します。- アプリケーションを再起動し、現行のランタイムに対してネイティブバインディングを再ビルドするクリーンな再インストールを行います。
LACK_OF_RAM
意味: アプリケーションが割り当てられた RAM を超過したか、カーネルがメモリ不足(OOM)を通知したため、ホストの安定性を保護するためにプロセスが終了されました。 修正方法:- メモリリークがないかアプリをプロファイリングします(Node.js:
--inspect、Python:memory_profiler)。 - インメモリキャッシュを、際限なく肥大化する Map やキャッシュのままにせず、Redis などの外部ストアに移行します。
- コントロールパネルでアプリケーションに割り当てる
MEMORYの値を増やします。

