From d7b8fa98eb74b57b1d1f55ce6b657b607b6c605d Mon Sep 17 00:00:00 2001 From: Armando Navarro Date: Fri, 2 Oct 2026 11:53:32 -0700 Subject: [PATCH 1/2] docs: tell quickstart readers how to get past the npm edgesOut crash `npm create @angular@21` fails with "Cannot read properties of null (reading 'edgesOut')" on npm older than 11.6, which is what the newest Node.js 20 and 22 releases come with. It is an npm bug (npm/cli#9787), but a reader hits it at step 1. The line says to delete the project folder because the failed run leaves one behind, and running the command again into it fails with a merge conflict on package.json. Fixes #3785 --- docs/install-and-setup.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/install-and-setup.md b/docs/install-and-setup.md index 5dc079816..3a4485c5b 100644 --- a/docs/install-and-setup.md +++ b/docs/install-and-setup.md @@ -35,6 +35,8 @@ cd These commands set up an Angular 21 project, the version AngularFire 21 supports. +If the npm commands stop with `npm error Cannot read properties of null (reading 'edgesOut')`, you have an npm older than 11.6, where installing a new Angular project crashes ([npm/cli#9787](https://github.com/npm/cli/issues/9787)). Run `npm install -g npm@11`, delete the project folder the failed command left behind, and run the command again. + ### 2. Install AngularFire and Firebase AngularFire 21 is currently a release candidate, published under the `next` tag: From 7028bf8e433cd513f01e18b0610f4cc2a7c9e553 Mon Sep 17 00:00:00 2001 From: Armando Navarro Date: Sun, 4 Oct 2026 17:18:04 -0700 Subject: [PATCH 2/2] docs: require npm 11.6 or later before the quickstart's first step Every Node.js 20 and 22 release bundles npm 10, so the recovery note under step 1 reached those readers only after the command had failed once. Asking for npm 11.6 up front avoids the failure. The fix is npm/cli#8448, shipped in arborist 9.1.4 with npm 11.6.0, and npm 10 stays on arborist 8. --- docs/install-and-setup.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/install-and-setup.md b/docs/install-and-setup.md index 3a4485c5b..1baedb430 100644 --- a/docs/install-and-setup.md +++ b/docs/install-and-setup.md @@ -8,6 +8,8 @@ - In AngularFire 21.0.0-rc.1 and earlier, `ng add` run by an agent with firebase-tools 15.26 or later stops after you choose features, with `Cannot read properties of undefined (reading 'email')`. - If it already stopped, run `ng add @angular/fire@next` again yourself. The stopped run leaves only an empty `firebase.json`, which the second run reuses. - A copy older than 14 stops setup with `firebase-tools version 14.0.0+ is required, please upgrade and run again`, and `ng add` does not upgrade a copy you already have. +- **npm 11.6 or later**, if you use npm. Older versions, including the npm 10 that ships with Node.js 20 and 22, cannot install a new Angular 21 project ([npm/cli#9787](https://github.com/npm/cli/issues/9787), `Cannot read properties of null (reading 'edgesOut')`). Update with `npm install -g npm@11`. + - If it already failed, delete the project folder it left behind before running the command again. - **Harmless CLI noise.** The Firebase CLI may print a `punycode` deprecation warning or ask about enabling extra features (for example Gemini) during setup. These come from the CLI, not from AngularFire, and are safe to ignore. ### 1. Create a new project @@ -35,8 +37,6 @@ cd These commands set up an Angular 21 project, the version AngularFire 21 supports. -If the npm commands stop with `npm error Cannot read properties of null (reading 'edgesOut')`, you have an npm older than 11.6, where installing a new Angular project crashes ([npm/cli#9787](https://github.com/npm/cli/issues/9787)). Run `npm install -g npm@11`, delete the project folder the failed command left behind, and run the command again. - ### 2. Install AngularFire and Firebase AngularFire 21 is currently a release candidate, published under the `next` tag: