Running the optional angular build migration installs incompatible version of @angular/build

Ouverte
#30,696 4 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
38/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
angular, typescript
Domaine
build-system, cli

Piste de recherche

Commencez par la migration use-application-builder invoquée avec ng update @angular/cli --name=use-application-builder, en utilisant la reproduction liée. Examinez les modifications apportées à package.json et angular.json, ainsi que la manière dont la CLI temporaire résout @angular/build. Le travail est terminé lorsque la migration installe une version compatible avec le projet mis à jour, avec des tests couvrant ce cas de sélection de version.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

area: @angular/cli freq1: low severity3: broken type: bug/fix
Command

update

Is this a regression?
  • Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was

No response

Description

Running the optional migration after skipping the build migration during initial update incorrectly installs @angular/build v20 which is not compatible

Minimal Reproduction

https://github.com/simhnna/angular-build-migration-demo/tree/8971afceeaf60bbe9fff4c9a2777b7711dcb095f

Run ng update @angular/cli --name=use-application-builder

The installed Angular CLI version is outdated.
Installing a temporary Angular CLI versioned 20.1.0 to perform the update.
Using package manager: npm
Collecting installed dependencies...
Found 22 dependencies.
** Executing 'use-application-builder' of package '@angular/cli' **

❯ Migrate application projects to the new build system.
  Application projects that are using the '@angular-devkit/build-angular' package's 'browser' and/or 'browser-esbuild' builders will be migrated to use the new 'application' builder.
  You can read more about this, including known issues and limitations, here: https://angular.dev/tools/cli/build-system-migration
    The output location of the browser build has been updated from "dist/project" to "dist/project/browser". You might need to adjust your deployment pipeline or, as an alternative, set outputPath.browser to "" in order to maintain the previous functionality.
UPDATE package.json (1032 bytes)
UPDATE angular.json (2749 bytes)
✔ Packages installed successfully.
  Migration completed (2 files modified).

It installs @angular/build@20 because it uses @angular/cli@20 to run the update

Exception or Error

Your Environment
_                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
    

Angular CLI: 18.2.20
Node: 22.17.0
Package Manager: npm 10.9.2
OS: linux x64

Angular: 18.2.13
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1802.20
@angular-devkit/build-angular   18.2.20
@angular-devkit/core            18.2.20
@angular-devkit/schematics      18.2.20
@angular/cli                    18.2.20
@schematics/angular             18.2.20
rxjs                            7.8.2
typescript                      5.4.5
zone.js                         0.14.10
Anything else relevant?

No response

Langage dominant
TypeScript
Étoiles
27k
Forks
11.8k
Merge moyen
16 h 35 min
PR mergées (30 j)
176

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de angular/angular-cli

Toutes les issues de angular/angular-cli

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.