Le nom de travail «..getProjectMetadata» n'existe pas

63

J'ai mis à jour mon angulaire en v9 et lorsque j'essaie de revenir en v8, je reçois cette erreur. J'ai déjà essayé ce qui suit:

  • désinstaller -global angular / cli
  • désinstaller angular / cli
  • revenir à mon dernier package.json
  • supprimer le dossier node_module
  • supprimer le dépôt

Cette erreur continue de s'afficher.

Ma stacktrace est:

An unhandled exception occurred: Job name "..getProjectMetadata" does not exist.
See angular-errors.log for further details.

angular-errors.log:

[error] Error: Job name "..getProjectMetadata" does not exist.
    at Observable._subscribe (/Front/node_modules/@angular-devkit/core/src/experimental/jobs/simple-scheduler.js:350:23)
    at Observable._trySubscribe (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/Observable.js:44:25)
    at Observable.subscribe (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/Observable.js:30:22)
    at /Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/util/subscribeTo.js:22:31
    at Object.subscribeToResult (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/util/subscribeToResult.js:10:45)
    at SwitchMapSubscriber._innerSub (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/operators/switchMap.js:65:54)
    at SwitchMapSubscriber._next (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/operators/switchMap.js:55:14)
    at SwitchMapSubscriber.Subscriber.next (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/Subscriber.js:66:18)
    at SwitchMapSubscriber.notifyNext (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/operators/switchMap.js:86:26)
    at InnerSubscriber._next (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/InnerSubscriber.js:28:21)
    at InnerSubscriber.Subscriber.next (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/Subscriber.js:66:18)
    at /Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/util/subscribeTo.js:17:28
    at Object.subscribeToResult (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/util/subscribeToResult.js:10:45)
    at SwitchMapSubscriber._innerSub (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/operators/switchMap.js:65:54)
    at SwitchMapSubscriber._next (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/operators/switchMap.js:55:14)
    at SwitchMapSubscriber.Subscriber.next (/Front/node_modules/@angular-devkit/core/node_modules/rxjs/internal/Subscriber.js:66:18)

ng --version:

Angular CLI: 8.3.18
Node: 12.15.0
OS: darwin x64
Angular: 8.2.13
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.803.18
@angular-devkit/build-angular     0.900.1
@angular-devkit/build-optimizer   0.900.1
@angular-devkit/build-webpack     0.900.1
@angular-devkit/core              8.3.18
@angular-devkit/schematics        8.3.18
@angular/cdk                      8.2.3
@angular/cli                      8.3.18
@angular/material                 8.2.3
@ngtools/webpack                  9.0.1
@schematics/angular               8.3.18
@schematics/update                0.803.18
rxjs                              6.5.3
typescript                        3.5.3
webpack                           4.41.2
Guillaume Gaujac
la source
2
J'ai eu cette erreur après avoir couru npm audit fix. Bien que je verrouille les dépendances, il est toujours mis à niveau vers angular 9, ce que je ne veux pas. Comme toujours avec les versions majeures d'Angular, très gênant et une mise à niveau compliquée. Je conseillerais de rester sur Angular 8 si ce n'est pas strictement nécessaire, beaucoup de dépendances ne sont pas encore mises à jour vers la dernière version et provoqueront beaucoup d'erreurs.
Michelangelo

Réponses:

186

Cela semble être un problème avec @angular-devkit/build-angular.. Essayez de le rétrograder vers une version spécifique:

npm i @angular-devkit/[email protected]
Occian fumnanya diaali
la source
5
Réponse parfaite !!
Lathy
3
Tu m'as sauvé la journée!
zs2020
2
@AtifMajeed vous devez utiliser la version 0.803.24, pas 0.900.4
Ben
1
A fonctionné pour moi mais je ne comprends pas pourquoi, je n'ai pas mis à jour angulairement. Je l'ai faitnpm audit fix
Germán Acosta
1
J'ai également commencé à obtenir cette erreur après npm audit fixaujourd'hui. Fondamentalement, ce que j'ai compris, npm audit fixc'est qu'il détecte automatiquement tous les packages vulnérables et met à niveau avec des versions fixes si elles sont disponibles. Mais il n'est pas censé effectuer automatiquement une telle mise à niveau. Donc, il doit y avoir une erreur du côté de ce responsable du package, qui a fait que l'audit npm n'était pas au courant du changement de rupture.
rineez
2

J'ai eu le même problème et l'ai résolu en rétrogradant la @angular-devkit/build-angular.version 0.803.24comme l'a dit Occian Fumnanya Dia dans sa réponse ci-dessus.Si après avoir rétrogradé la version, vous obtenez toujours la même erreur, essayez de supprimer le dossier platformset de réexécuter avec ionic cordova run <platform>. Remplacez <platform>par androidou ios.

Il recréera le dossier plaformsavec de nouvelles choses.

J'espère que cela aide.

FQuouhadiho
la source
0

Au lieu de supprimer tous les dossiers node_modules, renommez-le simplement et essayez

npm install 
sudo npm install --unsafe-perm //for macOS

Veuillez trouver ci-dessous mes versions de packages angulaires -

"@angular-devkit/build-angular": "0.802.0",
"@angular-devkit/core": "8.2.0",
"@angular/animations": "8.2.0",
"@angular/cli": "8.2.0",
"@angular/common": "8.2.0",
"@angular/compiler": "8.2.0",
"@angular/compiler-cli": "8.2.0",
"@angular/core": "8.2.0",
Kapil Raghuwanshi
la source
0

Cette commande corrige temporairement la situation:

npm i @angular-devkit/[email protected]

Ma build Jenkins nécessite que j'exécute la commande npm audit fix pour télécharger les dépendances. Cette commande fait réapparaître la même erreur. Quelqu'un a-t-il une idée de comment faire pour que la commande d'audit ignore l'angula-devkit?

Toma Šimunić
la source
Probablement, l'ajout --saveà la commande devrait le corriger ..
Ashot
0

Courez aussi npm i @angular-builders/[email protected] --save

Pour moi, la réponse d'Occian n'était pas suffisante, j'ai aussi dû changer @angular-builders/custom-webpackde latestà 8.4.1, car elle avait build-angularaussi une dépendance. Voici comment le comprendre:

liste npm @ angular-devkit / build-angular

[email protected] C:\projects\2778\reports-web-client
+-- @angular-builders/[email protected]
| `-- @angular-devkit/[email protected]
`-- @angular-devkit/[email protected]

Ce qui signifiait que j'avais 2 versions du package, et c'est pourquoi l'erreur apparaîtrait toujours.

Un coup de feu
la source