Skip to main content
アプリケーションがアップロード時に拒否される、起動時にクラッシュする、まったく応答しない場合、エラーコードやコンソールログにほぼ必ず正確な原因が示されています。以下から該当するものを見つけてください。

アップロードとデプロイのエラー

Square Cloud がアップロードを拒否すると、ダッシュボード、CLI、API から次のコードが返されます。何もデプロイされないため、原因を修正してからもう一度アップロードしてください。

INVALID_DEPENDENCY

意味: アップロードにその言語の依存関係ファイルがないか、ファイルが空です。Square Cloud は、何かをインストールする前に、このファイルが zip のルートにあることを確認します。 修正方法: 依存関係ファイルを zip のルートの squarecloud.app と同じ場所に置き、空でないことを確認してください: package.json(Node.js、Bun、Deno)、requirements.txt または pyproject.toml(Python)、Cargo.toml(Rust)、Gemfile(Ruby)、go.mod または go.work(Go)、mix.exs(Elixir)。その後、もう一度アップロードしてください。パッケージ名やバージョンの誤りは、後からログにインストールエラーとして表示されます。

KEEP_CALM

意味: あなた(または自動化)が、再起動、アップロード、snapshot などの操作を短時間に繰り返しました。 修正方法: 少し待ってからもう一度試してください。拒否された操作が実行されなかっただけで、KEEP_CALM が実行中のアプリケーションを停止したり影響を与えたりすることはありません。snapshot が代わりに DAILY_SNAPSHOTS_LIMIT_REACHED で失敗した場合は、プランの 1 日あたりの snapshot 数を使い切っているため、翌日まで待ってください。

Web サイトが表示されない

意味: アプリケーションはデプロイされていますが、そのアドレスを開くと、サイトの代わりに次のいずれかのページが表示されます。
  • “The website took too long to respond”: Square Cloud はアプリケーションを見つけましたが、応答がありませんでした。
  • “This site couldn’t be found”: そのアドレスには Web サイトが公開されていません。
タイムアウトの修正方法:
  1. サーバーがポート 80、ホスト 0.0.0.0 で待ち受けるようにします。localhost、127.0.0.1、またはほかのポート(3000、5173、8080 など)にバインドしたサーバーには到達できません。ランタイムは環境変数 PORT と HOST をこれらの値に設定しているので、それを読み取ってください。
  2. ログを開きます。アプリケーションがクラッシュしている、または依存関係のインストールやビルドの最中である場合、サイトはまだ応答できません。ログに表示されたエラーを修正するか、ビルドが終わるまで待ってください。
  3. MEMORY がビルドに十分な余裕を与えているかを確認します。フレームワークのビルドで RAM が不足すると、アプリケーションは LACK_OF_RAM で停止します。
“This site couldn’t be found” の修正方法:
  1. アドレスを確認します。正しいアドレスは、設定ファイルのサブドメインを使った https://<SUBDOMAIN>.squareweb.app です。
  2. デプロイした直後であれば、アドレスが公開されるまで最大 1 分ほど待ちます。
  3. SUBDOMAIN なしでデプロイしたアプリケーションは Web サイトではなく、後から Web サイトにすることもできません。SUBDOMAIN を設定して、新しいアプリケーションとしてもう一度アップロードしてください。
  4. カスタムドメインの場合は、DNS がまだ反映中の可能性があります。ドメインがまだ反映されない理由を参照してください。

EADDRINUSE(ポートが既に使用中)

意味: アプリが同じネットワークポートを二重にバインドしようとしています。 発生理由: コード内で 2 つのサーバーが起動しているか、listen(...) の呼び出しが、起動時に一度だけではなく、イベントハンドラの中で(たとえばリクエストごと、再接続ごとに)再作成されています。 修正方法:
  1. ポート 80、ホスト 0.0.0.0 で待ち受ける Web サーバーを 1 つだけ、一度だけ起動します。
  2. コード内に .listen()(Node.js)や run()(Python/Flask/Django)の呼び出しが複数ないか検索し、重複を削除します。
  3. listen の呼び出しが、複数回発火しうるコールバックの中ではなく、起動ファイルのトップレベルにあることを確認します。

“Cannot find module”(Node.js)と ModuleNotFoundError(Python)

意味: コードがインポートしているパッケージがインストールされていません。 発生理由:
  • ライブラリが package.json の dependencies(Node.js)や requirements.txt/pyproject.toml(Python)に記載されていないため、ローカル環境では動作していても、プラットフォーム上ではインストールされません。
  • Node.js で、パッケージが devDependencies にしかありません。アプリケーションは NODE_ENV=production で実行されるため、npm install は開発用の依存関係をスキップします。
修正方法:
  1. 不足しているパッケージを、有効なバージョンとともに dependencies(または Python の依存関係ファイル)に追加します。
  2. 依存関係ファイル自体がアップロードした zip に含まれていることを確認します。
  3. アプリケーションを再起動します。Node.js の場合、依存関係は node_modules が存在しないときにしかインストールされません。ダッシュボードのファイルマネージャーで node_modules(アップロードしていれば package-lock.json も)を削除してから再起動すると、クリーンな状態から再インストールされます。

better-sqlite3 / ネイティブバインディングのエラー

意味: アプリが better-sqlite3(直接、または quick.db 経由)を使用している場合に、Could not locate the bindings file のようなエラーが発生します。 発生理由: インストールされている better-sqlite3 のバージョンがプラットフォームの現行 Node.js LTS より古いため、そのプリビルド済みネイティブバインディングがランタイムと一致しません。 修正方法:
  1. better-sqlite3 を 12.5.0 以降に更新します(quick.db を使用している場合は 9.1.7 以降に更新してください)。
  2. node_modules と package-lock.json を削除します。
  3. アプリケーションを再起動し、現行のランタイムに対してネイティブバインディングを再ビルドするクリーンな再インストールを行います。

リソース制限による停止

ログの最後が [SQUARE-SHIELD] LACK_OF_RAM、LACK_OF_CPU、ABUSE_REQUESTS になっている場合、またはアプリケーションの起動が CONTAINER_TEMPORARILY_SUSPENDED で失敗する場合は、リソースを超えたために Square Cloud がアプリケーションを停止しています。それぞれの意味と解決方法はステータスの表で説明しています。

時刻が数時間ずれる

アプリケーションは UTC で実行されます。09:00 に予定したジョブは UTC の 09:00 に実行され、コードがログに出力する時刻も UTC です。コード内で時刻を変換するか、ヘルプセンターのアプリケーションのタイムゾーンを変更する方法を参照してください。

関連ガイド

上記のエラーとログを照らし合わせても解決しない場合は、サポートチームが具体的なクラッシュ内容を一緒に確認します。

お問い合わせ

技術的な問題が解決しない場合は、専門のサポートチームがお手伝いします。お問い合わせいただければ、どのような問題でも喜んで解決をサポートいたします。サポートの質の高さも、開発者が Google と Trustpilot で Square Cloud に402 件のレビューで 4.9/5という評価をつけている理由の 1 つです。