作业名称“..getProjectMetadata”不存在

Job name "..getProjectMetadata" does not exist

我将 angular 更新为 v9,当我尝试返回 v8 时,收到此错误。 我已经尝试过以下方法:

此错误继续显示。

我的堆栈跟踪是:

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

这似乎是 @angular-devkit/build-angular 的问题.. 尝试将其降级到特定版本:

npm i @angular-devkit/build-angular@0.803.24

我遇到了同样的问题,并通过将 @angular-devkit/build-angular. 版本降级到 0.803.24 解决了这个问题,正如 Occian Fumnanya Dia 在他的 中所说的那样 如果在降级版本后仍然出现相同的错误,请尝试删除文件夹 platforms 并用 ionic cordova run <platform> 重新 运行。将 <platform> 替换为 androidios.

它将用新内容重新创建文件夹 plaforms

希望对您有所帮助。

不要删除整个 node_modules 文件夹,只需重命名并尝试

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

请在下面找到我的 angular 包版本 -

"@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",

这个命令暂时解决了这个问题:

npm i @angular-devkit/build-angular@0.803.24

我的 Jenkins 构建需要我 运行 npm audit fix 命令来下载依赖项。此命令使相同的错误再次出现。 有人知道如何让审计命令忽略 angula-devkit 吗?

运行 也 npm i @angular-builders/custom-webpack@8.4.1 --save

对我来说 还不够,我还不得不将 @angular-builders/custom-webpacklatest 更改为 8.4.1,因为它也有 build-angular 依赖。计算方法如下:

npm list @angular-devkit/build-angular

reports-web-client@0.0.0 C:\projects78\reports-web-client
+-- @angular-builders/custom-webpack@9.1.0
| `-- @angular-devkit/build-angular@0.901.1
`-- @angular-devkit/build-angular@0.803.8

这意味着,我有 2 个版本的软件包,这就是错误仍然出现的原因。

如果您使用 npm audit fix,请找到您尝试修复的包并恢复到稳定版本并注意漏洞。

根据我的经验,您正在使用的新模块是为 angular 9 设计的,如果可能,您应该将导入升级到:

 "dependencies": {
    "@angular/animations": "^9.1.9",
    "@angular/cdk": "^9.2.4",
    "@angular/common": "^9.1.9",
    "@angular/compiler": "^9.1.9",
    "@angular/core": "^9.1.9",
    "@angular/forms": "^9.1.9",
    "@angular/platform-browser": "^9.1.9",
    "@angular/platform-browser-dynamic": "^9.1.9",
    "@angular/router": "^9.1.9",
 ...
}
"devDependencies": {
    "@angular-devkit/build-angular": "^0.901.7",
    "@angular/cli": "^9.1.7",
    "@angular/compiler-cli": "^9.1.9",
    "@angular/language-service": "^9.1.9",
   ...
}

就个人而言,最好的解决方案是:

ng update @angular/cli @angular/core

为什么?因为迟早要升级到Angular 9+,其他解决办法只是降级而已。

我今天遇到了同样的问题,直到我使用了这个解决方案并且这个解决方案运行良好。

我通过打开修复了它

package.json 文件

并在下一行更新

@angular-devkit/build-angular": "^0.803.8"

然后运行

npm i

此 cmd 修复了问题

npm i @angular-devkit/build-angular@0.803.24

当前 angular 版本使用以下版本:

@angular-devkit/build-angular@0.8.9 v6-lts

@angular-devkit/build-angular@0.13.10 v7-lts

@angular-devkit/build-angular@0.803.29 v8-lts

@angular-devkit/build-angular@0.901.13 v9-lts

@angular-devkit/build-angular@0.1002.1 v10-lts

查看最新的当前标签版本 @angular-devkit/build-angular

根据你的版本安装@angular-devkit/build-angular即可 就像如果你有 angular V.8 然后试试这个或找到你的版本并根据你的 angular 版本安装它。

npm i @angular-devkit/build-angular@0.803.29