# n8n v2 移行ガイド

> n8n v2が登場：Zeaburユーザー向け完全移行ガイド

ついにその時が来ました。**n8n v2.0** が正式にリリースされ、待望の **自動保存（Autosave）**、大幅なパフォーマンス向上、そして自動化構築のあり方を根本から変える「下書き vs 公開（Draft vs. Publish）」ワークフローが導入されました。

**Zeabur** で n8n をホストしている方のために、完全なガイドをご用意しました。インスタンスの更新は基本的に簡単ですが、v2 ではアーキテクチャの変更（特に Python ユーザー向け）が含まれているため、Code ノードの使用方法に応じて3つの異なるパスがあります。

Zeabur プロジェクトを安全に移行する方法は以下の通りです。

---

### 🚀 新規で始めたいですか？

既存のインスタンスを移行するのではなく、まっさらな状態から始めたい場合は、事前設定済みの **静的 n8n v2 テンプレート（Static n8n v2 Template）** をリリースしました。Zeabur 向けに最適化されており、すぐに使用可能です。

[**Zeabur で n8n v2 テンプレートをデプロイ →**](https://zeabur.com/templates/JP88UN)

---

## パス 1: 「基本」ユーザー（標準アップグレード）

**対象となる方:**

- 標準的な n8n ノード（Webhook、HTTP Request、Google Sheets など）を使用している。
- Code ノードで JavaScript を使用している。
- Code ノードで Python を **使用していない**。

これに当てはまる場合、Zeabur でのアップグレードプロセスは非常にシンプルです。

### アップグレード方法:

1. **Zeabur ダッシュボード**にログインします。
2. **n8n サービス**をクリックします。
3. **Settings**（設定）タブに移動します。
4. **Image Tag** フィールドを見つけます。
5. タグを現在のバージョン（または `latest`）から **`2.1.4`**（または利用可能な最新バージョン）に変更します。
6. Zeabur がサービスを自動的に再デプロイします。

**これだけです。** サービスが再起動すると、新しい v2 インターフェースが表示されます。

> ⚠️ 重要：基本ユーザーであっても、v2 にはサブワークフロー間のデータの流れに関する破壊的変更（Breaking Changes）があります。切り替える前に、公式の「破壊的変更ガイド」を読むことを強くお勧めします。
>

---

## パス 2: 「Pyodide」ユーザー（レガシー Python サポート）

**対象となる方:**

- 現在、ワークフローで Python を使用している。
- **Pyodide** 実装（完全な外部タスクランナーを必要としない、軽量なブラウザ/サーバーサイド Python）を利用している。
- 複雑なタスクランナーをデプロイせず、現在のシンプルなアーキテクチャを維持したい。

**注意点:**
n8n v2 では Python の扱いが変更されています。単にイメージタグを更新するだけでは、環境要件が変更されたため、Pyodide ベースのノードが失敗する可能性があります。この機能を維持するには、Zeabur インスタンスに特定の構成を適用する必要があります。

### アップグレード方法:

このシナリオ向けに特定の構成ガイドを用意しました。以下のガイドに従って設定と環境変数を確認し、Zeabur 上で Pyodide が機能し続けるようにしてください。

**👉 [ガイド: Zeabur で Pyodide を使用したまま n8n v2 へアップグレードする](https://gist.github.com/c-c-epr/53770cb3286ddc7ea6ae4c4cfcc572ce)**

*Python ワークフローが正常に動作することを期待する前に、上記のリンクの手順に従って現在のインスタンスにパッチを適用してください。*

---

## 破壊的変更（Breaking Changes）の概要

基本ユーザーか上級ユーザーかに関わらず、以下の v2 の変更は全員に影響します：

1. **サブワークフローデータ:** "Execute Workflow" ノードを使用する場合、n8n は入力データをそのまま渡すのではなく、サブワークフローの *実際の結果* を返すようになりました。データ出力を確認してください！
2. **Code ノードのセキュリティ:** デフォルトでは、Code ノードは環境変数（`process.env`）にアクセスできなくなりました。コードが環境変数に依存している場合は、明示的に権限を有効にする必要があります。
3. **保存 vs 公開:** 「下書き（Draft）」状態が導入されました。「Save（保存）」をクリックしても変更はライブ（本番稼働）になりません。アクティブなワークフローを更新するには、**「Publish（公開）」** をクリックする必要があります。

すべての技術的な変更の詳細については、公式ドキュメントを参照してください：
[**📄 n8n v2.0 破壊的変更ドキュメント**](https://docs.n8n.io/2-0-breaking-changes/)

---

## ⚡️ クイック決定ガイド

どのパスを選ぶべきかわからない場合は、この表を参考にしてください：

| 機能 / 用途 | **パス 1: 基本** | **パス 2: Pyodide** | **新規デプロイ** |
| --- | --- | --- | --- |
| **主なコード言語** | JavaScript のみ | JavaScript + シンプルな Python | すべて |
| **外部 Pip パッケージ** | なし | なし（標準ライブラリのみ） | - |
| **パフォーマンス要件** | 標準 | 標準 | 標準 |
| **移行アクション** | Image Tag の更新 | Tag の更新 + [Config の適用](https://gist.github.com/c-c-epr/53770cb3286ddc7ea6ae4c4cfcc572ce) | [**テンプレートの使用**](https://zeabur.com/templates/JP88UN) |
| **最適な対象** | ほとんどのユーザー | 軽量な Python ユーザー | **新規 / クリーンスタート** |

### 最後に

Zeabur での v2 へのアップグレードは、安定性と開発者体験にとって大きな前進です。ご自身のワークフローの複雑さに合ったパスを選択し、自動化を楽しんでください！ 🚀
