如何解决在Angular 8中创建组件时出现“检测到无效格式版本-期望:[1] 找到:[3]”错误?

16

我需要在我的Angular 8项目中创建一个组件,我尝试了以下命令:

ng g c prueba

但返回了以下错误:

检测到无效的格式版本 - 预期:[ 1 ] 找到:[ 3 ]

请问你能帮我解决这个问题吗?


似乎问题来自于ng命令。 - midugh
也许尝试重新安装Angular CLI。 - midugh
我已经完成了它,它仍然保持不变。 - andrestabares
你尝试过使用ng generate component而不是使用g c吗? - midugh
我其实遇到了类似的问题。我的理论是在我之前有的开发者做了一些非正统的事情,导致项目处于一种奇怪的状态,Angular/Cli无法处理。但我不知道具体是什么。 - Glaucus
显示剩余2条评论
2个回答

28

就像我上面的评论一样,我遇到了类似的问题,只不过我的报告显示找到了6个而不是1个。无论如何,幸运的是,我查看了angular.json文件并发现它有一个名为version的元素,并且它被设置为6。所以我将其设置为1,Angular之神眷顾着我。现在它可以工作了。

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1, // was 6
  ...
}

现在,我真的不知道那个字段值是什么,为什么它适用于1而不适用于6。我会错过其他功能吗?毫无头绪。

我的Angular CLI版本:

Angular CLI: 8.0.2
Node: 8.9.0
OS: win32 x64
Angular: 8.0.0
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.1
@angular-devkit/build-angular     0.800.1
@angular-devkit/build-optimizer   0.800.1
@angular-devkit/build-webpack     0.800.1
@angular-devkit/core              8.0.1
@angular-devkit/schematics        8.0.2
@angular/cdk                      8.0.1
@angular/cli                      8.0.2
@angular/fire                     5.2.1
@angular/flex-layout              8.0.0-beta.26
@angular/http                     7.2.15
@angular/material                 8.0.1
@ngtools/webpack                  8.0.1
@schematics/angular               8.0.2
@schematics/update                0.800.2
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.30.0

提示:嘿,谷歌,能不能提供更好的错误信息?尽管这个错误信息似乎准确,但它仍然是毫无意义的。


0
在我的情况下,我使用了错误的yarn版本。在volta的帮助下纠正了版本后,错误得到了修复。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接