Angular TypeError中出错:无法读取属性';旗帜';执行ng serve时的未定义属性

Angular TypeError中出错:无法读取属性';旗帜';执行ng serve时的未定义属性,angular,angular-cli,Angular,Angular Cli,在没有代码更改的情况下,尝试对新项目执行命令ng serve,出现错误: TypeError中出错:无法读取未定义的属性“flags” 这是ng--version命令输出: _ _ ____ _ ___ / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _| / △ \ | '_ \ / _` | | | | |/ _` | '__

在没有代码更改的情况下,尝试对新项目执行命令
ng serve
,出现错误:

TypeError中出错:无法读取未定义的属性“flags”

这是
ng--version
命令输出:

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


Angular CLI: 9.1.4
Node: 14.2.0
OS: win32 x64

Angular: 9.1.5
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.901.4
@angular-devkit/build-angular     0.901.4
@angular-devkit/build-optimizer   0.901.4
@angular-devkit/build-webpack     0.901.4
@angular-devkit/core              9.1.4
@angular-devkit/schematics        9.1.4
@angular/cli                      9.1.4
@ngtools/webpack                  9.1.4
@schematics/angular               9.1.4
@schematics/update                0.901.4
rxjs                              6.5.5
typescript                        3.8.3
webpack                           4.42.0
编辑: 显示的完整错误为:

ERROR in TypeError: Cannot read property 'flags' of undefined
    at resolveAlias (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:36513:37)
    at checkAliasSymbol (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:64502:26)
    at checkImportBinding (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:64534:13)
    at checkImportDeclaration (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:64552:29)
    at checkSourceElementWorker (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:64961:28)
    at checkSourceElement (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:64800:17)
    at Object.forEach (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:317:30)
    at checkSourceFileWorker (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:65123:20)
    at checkSourceFile (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:65091:13)
    at getDiagnosticsWorker (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:65179:17)
    at Object.getDiagnostics (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:65165:24)
    at E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:98703:85
    at runWithCancellationToken (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:98665:24)
    at getBindAndCheckDiagnosticsForFileNoCache (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:98691:20)
    at getAndCacheDiagnostics (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:98956:26)
    at getBindAndCheckDiagnosticsForFile (E:\source\www\angular\test\node_modules\typescript\lib\typescript.js:98688:20)
编辑: 正如@cklimowski在回答中所建议的那样,我可以通过在项目中重新插入angular的9.1.4版来解决这个问题

我使用的命令:

npm install @angular/core@9.1.4 @angular/animations@9.1.4 @angular/common@9.1.4 @angular/forms@9.1.4 @angular/platform-browser@9.1.4 @angular/router@9.1.4 @angular/platform-browser-dynamic@9.1.4 @angular/compiler@9.1.4 @angular/compiler-cli@9.1.4 @angular/language-service@9.1.4

尝试更新所有依赖项。对我来说,它可以工作,但我有不同的nodejs版本

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


Angular CLI: 9.1.4
Node: 12.16.3
OS: darwin x64

Angular: 9.1.5
... animations, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, router
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.901.4
@angular-devkit/build-angular     0.901.4
@angular-devkit/build-optimizer   0.901.4
@angular-devkit/build-webpack     0.901.4
@angular-devkit/core              9.1.4
@angular-devkit/schematics        9.1.4
@angular/cdk                      9.2.2
@angular/cli                      9.1.4
@ngtools/webpack                  9.1.4
@schematics/angular               9.1.4
@schematics/update                0.901.4
rxjs                              6.5.5
typescript                        3.8.3
webpack                           4.42.0

这是9.1.5中的一个问题。回滚或安装9.1.4,您会没事的

更新:


9.1.6目前正在运行,无此问题。升级到CLI和Core的最新版本。

这些通常是最容易修复的错误。在代码中搜索“.flags”

试图访问未定义变量的.flags的某个位置。例如:user.flags。您可以通过添加一个简单的if语句来消除错误:

if(user) {
    user.flags = 3 // or whatever
    //code failing goes here
}

是否可以添加错误消息及其堆栈跟踪?为什么angular cli 9.1.4使用angular 9.1.5而不是9.1.4?不确定,似乎是9.1.5的问题。通常不会发生,请等待9.1.6。暂时将cli和core都保留在9.1.4上。如果这有效,请将我的回答标记为已接受!我使用最新稳定版本的nodejs(12.16.3)进行了测试,但在创建新项目时错误仍然存在。唯一有效的是@cklimowski的回答。我明白了,然后是真的,可能是windows上的一个问题,因为如何传递参数和标志的方式不同。我知道错误消息的意思。错误在angular 9.1.5本身或它的一些依赖项中,而不是在我的代码中。事实上,正如我在问题中所说,没有我的代码,这是一个使用angular cli 9.1.4创建的新项目。