O nome da tarefa "..getProjectMetadata" não existe

63

Atualizei meu angular para a v9 e quando tento voltar na v8, recebo esse erro. Eu já tentei o seguinte:

  • desinstalar -global angular / cli
  • desinstalar angular / cli
  • voltar ao meu último package.json
  • excluir pasta node_module
  • excluir repo

Este erro continua a aparecer.

Meu stacktrace é:

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
fonte
2
Eu recebi esse erro depois de executar npm audit fix. Embora eu bloqueie dependências, ele ainda atualizou para o angular 9, o que eu não quero. Como sempre, nos principais lançamentos angulares, muito inconveniente e uma atualização de problemas. Eu aconselho a permanecer no Angular 8, se não for estritamente necessário, muitas dependências ainda não estão atualizadas para a versão mais recente e causam muitos erros.
Michelangelo

Respostas:

186

Parece ser um problema com @angular-devkit/build-angular.. Tente fazer o downgrade para uma versão específica:

npm i @angular-devkit/[email protected]
Occian Fumnanya Diaali
fonte
5
Resposta perfeita !!
Lathy 17/02
3
Você salvou meu dia!
zs2020 19/02
2
@AtifMajeed, você deve usar a versão 0.803.24, não 0.900.4
Ben
11
Trabalhou para mim, mas não entendo o porquê, não atualizei o angular. Eu fiznpm audit fix
Germán Acosta
11
Eu também comecei a receber esse erro depois de npm audit fixhoje. Basicamente, o que eu entendi npm audit fixé que ele detecta automaticamente todos os pacotes vulneráveis ​​e atualiza com versões fixas, se disponíveis. Mas não se deve fazer nenhuma atualização de quebra como essa automaticamente. Portanto, também deve haver algum erro por parte do mantenedor do pacote, que fez com que a auditoria do npm desconhecesse a mudança de quebra.
rineez 26/03
2

Eu tive o mesmo problema e o resolvi fazendo o downgrade da @angular-devkit/build-angular.versão para 0.803.24o Occian Fumnanya Dia disse em sua resposta acima. Se após o downgrade da versão você ainda receber o mesmo erro, tente excluir a pasta platformse executar novamente ionic cordova run <platform>. Substitua <platform>por androidou ios.

Ele recriará a pasta plaformscom coisas novas.

Espero que ajude.

FQuouhadiho
fonte
0

Em vez de excluir todas as pastas node_modules, apenas renomeie-a e tente

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

Encontre abaixo minhas versões de pacotes angulares -

"@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
fonte
0

Este comando corrige a situação temporariamente:

npm i @angular-devkit/[email protected]

Minha compilação Jenkins exige que eu execute o comando npm audit fix para baixar dependências. Este comando faz com que o mesmo erro apareça novamente. Alguém tem alguma idéia de como fazer com que o comando audit ignore o angula-devkit?

Toma Šimunić
fonte
Provavelmente, adicionar --saveao comando deve corrigi-lo ..
Ashot
0

Executar também npm i @angular-builders/[email protected] --save

Para mim, a resposta de Occian não foi suficiente, eu também tive que mudar @angular-builders/custom-webpackde latestpara 8.4.1, porque também tinha build-angulardependência. Isto é como descobrir:

lista 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]

O que significava que eu tinha duas versões do pacote, e é por isso que o erro ainda aparece.

Um tiro
fonte