バージョン互換性

次の表は、各バージョンのAngularで必要となる Node.js、TypeScript、RxJSのバージョンを示しています。

アクティブにサポートされているバージョン

この表は、アクティブにサポートされている Angular のバージョン を対象としています。

Angular Node.js TypeScript RxJS
18.1.x || 18.2.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.4.0 <5.6.0 ^6.5.3 || ^7.4.0
18.0.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.4.0 <5.5.0 ^6.5.3 || ^7.4.0
17.3.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.5.0 ^6.5.3 || ^7.4.0
17.1.x || 17.2.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.4.0 ^6.5.3 || ^7.4.0
17.0.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.3.0 ^6.5.3 || ^7.4.0
16.1.x || 16.2.x ^16.14.0 || ^18.10.0 >=4.9.3 <5.2.0 ^6.5.3 || ^7.4.0
16.0.x ^16.14.0 || ^18.10.0 >=4.9.3 <5.1.0 ^6.5.3 || ^7.4.0

サポートされていない Angular バージョン

この表は、長期サポート (LTS) の対象外となっているAngularのバージョンを対象としています。 この情報は、各バージョンがLTSを終了したときに正しいものであり、それ以降の保証はありません。 過去の参照のためにここで記載されています。

Angular Node.js TypeScript RxJS
15.1.x || 15.2.x ^14.20.0 || ^16.13.0 || ^18.10.0 >=4.8.2 <5.0.0 ^6.5.3 || ^7.4.0
15.0.x ^14.20.0 || ^16.13.0 || ^18.10.0 ~4.8.2 ^6.5.3 || ^7.4.0
14.2.x || 14.3.x ^14.15.0 || ^16.10.0 >=4.6.2 <4.9.0 ^6.5.3 || ^7.4.0
14.0.x || 14.1.x ^14.15.0 || ^16.10.0 >=4.6.2 <4.8.0 ^6.5.3 || ^7.4.0
13.3.x || 13.4.x ^12.20.0 || ^14.15.0 || ^16.10.0 >=4.4.3 <4.7.0 ^6.5.3 || ^7.4.0
13.1.x || 13.2.x ^12.20.0 || ^14.15.0 || ^16.10.0 >=4.4.3 <4.6.0 ^6.5.3 || ^7.4.0
13.0.x ^12.20.0 || ^14.15.0 || ^16.10.0 ~4.4.3 ^6.5.3 || ^7.4.0
12.2.x ^12.14.0 || ^14.15.0 >=4.2.3 <4.4.0 ^6.5.3 || ^7.0.0
12.1.x ^12.14.0 || ^14.15.0 >=4.2.3 <4.4.0 ^6.5.3
12.0.x ^12.14.0 || ^14.15.0 ~4.2.3 ^6.5.3
11.2.x ^10.13.0 || ^12.11.0 >=4.0.0 <4.2.0 ^6.5.3
11.1.x ^10.13.0 || ^12.11.0 >=4.0.0 <4.2.0 ^6.5.3
11.0.x ^10.13.0 || ^12.11.0 ~4.0.0 ^6.5.3
10.2.x ^10.13.0 || ^12.11.0 >=3.9.0 <4.1.0 ^6.5.3
10.1.x ^10.13.0 || ^12.11.0 >=3.9.0 <4.1.0 ^6.5.3
10.0.x ^10.13.0 || ^12.11.0 ~3.9.0 ^6.5.3
9.1.x ^10.13.0 || ^12.11.0 >=3.6.0 <3.9.0 ^6.5.3
9.0.x ^10.13.0 || ^12.11.0 >=3.6.0 <3.8.0 ^6.5.3

v9 以前のバージョン

Angular v9まで、AngularとAngular CLIのバージョンは同期していませんでした。

Angular Angular CLI Node.js TypeScript RxJS
8.2.x 8.2.x || 8.3.x ^10.9.0 >=3.4.2 <3.6.0 ^6.4.0
8.0.x || 8.1.x 8.0.x || 8.1.x ^10.9.0 ~3.4.2 ^6.4.0
7.2.x 7.2.x || 7.3.x ^8.9.0 || ^10.9.0 >=3.1.3 <3.3.0 ^6.0.0
7.0.x || 7.1.x 7.0.x || 7.1.x ^8.9.0 || ^10.9.0 ~3.1.3 ^6.0.0
6.1.x 6.1.x || 6.2.x ^8.9.0 >=2.7.2 <3.0.0 ^6.0.0
6.0.x 6.0.x ^8.9.0 ~2.7.2 ^6.0.0
5.2.x 1.6.x || 1.7.x ^6.9.0 || ^8.9.0 >=2.4.2 <2.7.0 ^5.5.0
5.0.x || 5.1.x 1.5.x ^6.9.0 || ^8.9.0 ~2.4.2 ^5.5.0
4.2.x || 4.3.x || 4.4.x 1.4.x ^6.9.0 || ^8.9.0 >=2.1.6 <2.5.0 ^5.0.1
4.2.x || 4.3.x || 4.4.x 1.3.x ^6.9.0 >=2.1.6 <2.5.0 ^5.0.1
4.0.x || 4.1.x 1.0.x || 1.1.x || 1.2.x ^6.9.0 >=2.1.6 <2.4.0 ^5.0.1
2.x - ^6.9.0 >=1.8.0 <2.2.0 ^5.0.1

ブラウザサポート

Angularは、最新のブラウザをサポートしています。 これには、次の特定のバージョンが含まれます。

ブラウザ サポートされているバージョン
Chrome 最新の 2 つのバージョン
Firefox 最新版と拡張サポートリリース (ESR)
Edge 最新の 2 つのメジャーバージョン
Safari 最新の 2 つのメジャーバージョン
iOS 最新の 2 つのメジャーバージョン
Android 最新の 2 つのメジャーバージョン

HELPFUL: Angularの継続的インテグレーションプロセスは、すべてのプルリクエストに対して、Sauce Labs を使用して、これらのブラウザすべてでフレームワークの単体テストを実行します。

ポリフィル

Angularは、Webプラットフォームの最新の標準に基づいて構築されています。 このように幅広いブラウザをターゲットにすることは、すべてのブラウザが最新のブラウザのすべての機能をサポートしていないため、困難です。 サポートする必要があるブラウザに対して、ポリフィルスクリプト("ポリフィル")をロードすることで、この問題を補うことができます。 ポリフィルをプロジェクトに含める方法については、下記の手順を参照してください。

IMPORTANT: 提案されているポリフィルは、フルAngularアプリケーションを実行するものです。 このリストに含まれていない機能をサポートするために、追加のポリフィルが必要になる場合があります。

HELPFUL: ポリフィルは、古くて遅いブラウザを最新の高速なブラウザに魔法のようには変換できません。

CLI プロジェクトでのポリフィルの有効化

Angular CLI は、ポリフィルをサポートしています。 CLIを使用してプロジェクトを作成していない場合は、CLI 以外のユーザー向けのポリフィル手順 を参照してください。

ブラウザおよびテストビルダーpolyfills オプションは、 ファイルのフルパス(例: src/polyfills.ts)または、現在のワークスペースまたはモジュール指定子に対する相対パス(例: zone.js)にできます。

TypeScriptファイルを作成する場合は、tsconfig ファイルの files プロパティにそのファイルを含めるようにしてください。

      
{  "extends": "./tsconfig.json",  "compilerOptions": {    ...  },  "files": [    "src/main.ts",    "src/polyfills.ts"  ]  ...}

CLI 以外のユーザー向けのポリフィル

CLIを使用していない場合は、ホストWebページ(index.html)にポリフィルスクリプトを直接追加します。

たとえば、次のようになります。

src/index.html

      
<!-- pre-zone ポリフィル --><script src="node_modules/core-js/client/shim.min.js"></script><script>  /**   * いくつかの非同期アクティビティのゾーンインターセプトを無効にすることができるゾーンフラグを構成できます。   * これらのオプションは、開始パフォーマンスを向上させるためだけに使用してください。   * 追跡が難しいバグが発生する可能性があるため、どのような操作を行っているのかを理解している場合にのみ使用してください。   */  // __Zone_disable_requestAnimationFrame = true; // requestAnimationFrame のパッチを無効にする  // __Zone_disable_on_property = true; // onclick などの onProperty のパッチを無効にする  // __zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // 指定したイベント名のパッチを無効にする  /*   * Edge 開発者ツールでは、addEventListener も zone.js によってラップされます。   * 次のフラグを使用すると、Edge に対する zone.js のパッチをバイパスできます。   */  // __Zone_enable_cross_context_check = true;</script><!-- Angular で必要な zone.js --><script src="node_modules/zone.js/bundles/zone.umd.js"></script><!-- アプリケーションポリフィル -->