目次

n8n よくある質問とトラブルシューティング

ワークフローが自動実行されない

  • Publish(n8n 1.x では Active スイッチ)を押しましたか?Save だけではトリガーは動作しません。
  • 変更後に再公開しましたか?
  • スケジュールの時刻は正しいですか?次の項目を確認してください。
  • Executions で失敗した実行がないか確認してください。

スケジュールが 8 時間ずれる

n8n のタイムゾーンが設定されておらず、既定の UTC が使われています。環境変数 GENERIC_TIMEZONE=Asia/Taipei を設定して再起動するか、ワークフローの Settings → Timezone で指定してください。

Webhook URL が localhost になる

デプロイ設定に外部公開 URL を追加してください。

N8N_WEBHOOK_URL=https://n8n.example.com/

(n8n 2.30 より前のバージョンでは WEBHOOK_URL を使用します。)あわせて N8N_HOST と N8N_PROTOCOL が正しく設定されていることを確認してください。セルフホストを参照してください。

Webhook ノードに Test URL と Production URL が表示されている
Webhook ノード:上部で Test URL と Production URL を切り替えられます。ここに localhost が表示されている場合、外部公開 URL がまだ設定されていません

Webhook が 404 を返す

  • Test URL を使う場合は、先に Listen for test event を押してください。イベントを受信できるのは 1 回だけです。
  • Production URL を使う場合は、ワークフローが公開済みである必要があります。
  • HTTP メソッド(GET / POST)が設定と一致していることを確認してください。

詳しくはWebhook チュートリアルを参照してください。

ノードが何度も実行される

上流ノードが複数の items を出力すると、下流ノードは各 item に対して 1 回ずつ実行されます。繰り返し実行したくない場合は、ノードの Settings で Execute Once を有効にするか、先に Aggregate でデータをまとめてください。データ構造と itemsを参照してください。

Google 認証に失敗する:redirect_uri_mismatch

Google Cloud に設定した「承認済みのリダイレクト URI」と、n8n に表示される OAuth Redirect URL が一致していません。n8n の認証情報画面に表示される URL をコピーして、Google Cloud にそのまま貼り付けてください。n8n に localhost が表示される場合は、まずデプロイ URL の設定を修正してください。認証情報の管理を参照してください。

Google 認証が数日おきに無効になる

Google Cloud の OAuth アプリが「テスト」状態の場合、認証の有効期間は短くなります。アプリを本番公開できます。

localhost 以外から http://(HTTPS ではない接続)でアクセスすると発生します。本番利用では HTTPS を設定してください。社内ネットワークでのテスト時に限り、一時的に N8N_SECURE_COOKIE=false を設定できます。

メモリ不足(JavaScript heap out of memory)

通常、一度に大量のデータや大きなファイルを処理していることが原因です。

  • Loop Over Items で分割して処理する
  • 子ワークフローに分ける(子ワークフローの終了後にメモリが解放されます)
  • 必要なフィールドだけを残す(Edit Fields で Keep Only Set Fields を有効にする)
  • ホストのメモリを増やす

データベースが肥大化する

実行履歴には、各ノードの全データが保存されます。自動クリーンアップを設定してください。

EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=168    # 保持期間 7 日(単位:時間)

ワークフローの Settings で「成功した実行のデータを保存しない」ように設定することもできます。

式が undefined またはエラーになる

  • 式のプレビューにデータを表示するには、先に前のノードを実行してください。
  • 中間の階層が存在しない場合に備えて ?. を使います:{{ $json.address?.city }}。
  • それ以前のノードの値を読み取るには、$json ではなく $('節點名稱') を使います。

式のチュートリアルを参照してください。

Code ノードで $env を読み取れない

n8n 2.x では、Code ノードによる環境変数の読み取りが既定で禁止されています。必要な値は認証情報として保存するか、ノードのパラメーターから渡す方法をおすすめします。

更新後にワークフローが壊れた

バージョンのリリースノートで、互換性を損なう変更を確認してください。すぐに修正できない場合は、イメージのバージョンを以前のものに戻し、データベースのバックアップを復元できます(データベースの移行は通常、逆方向に実行できないため、更新前のバックアップが重要です)。バックアップと更新を参照してください。

サンプルはどこで見つかりますか?

  • n8n 公式サイトの Templates ページには、コミュニティが共有した数千件のワークフローテンプレートがあり、そのままインポートして使えます。
  • n8n 公式コミュニティフォーラムには多くの質問と回答があります。エラーメッセージが出た場合は、まず検索してみてください。

更新日 2026年10月12日