ОШИБКА в TypeError: Невозможно прочитать флаги свойства undefined - PullRequest
49 голосов

У меня проблема, когда я пытаюсь запустить ng serve в недавно созданном Angular проекте. Я использую версию 9.1.4, эта ошибка не возникает в проекте со старой версией Angular.

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

После выполнения ng serve или ng build:

chunk {main} main.js, main.js.map (main) 2 kB [initial] [rendered]<br>
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 679 bytes [initial] [rendered]<br>
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.15 kB [entry] [rendered]<br>
chunk {styles} styles.js, styles.js.map (styles) 12.4 kB [initial] [rendered]<br>
chunk {vendor} vendor.js, vendor.js.map (vendor) 339 kB [initial] [rendered]<br>
Date: 2020-05-08T02:06:46.145Z - Hash: 1a1b937f0ca2bb37634b - Time: 4087ms<br>

**ERROR in TypeError: Cannot read property 'flags' of undefined**
    at resolveAlias (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:36513:37)
    at checkAliasSymbol (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:64502:26)
    at checkImportBinding (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:64534:13)
    at checkImportDeclaration (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:64552:29)
    at checkSourceElementWorker (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:64961:28)
    at checkSourceElement (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:64800:17)
    at Object.forEach (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:317:30)
    at checkSourceFileWorker (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:65123:20)
    at checkSourceFile (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:65091:13)
    at getDiagnosticsWorker (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:65179:17)
    at Object.getDiagnostics (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:65165:24)
    at C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:98703:85
    at runWithCancellationToken (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:98665:24)
    at getBindAndCheckDiagnosticsForFileNoCache (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:98691:20)
    at getAndCacheDiagnostics (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:98956:26)
    at getBindAndCheckDiagnosticsForFile (C:\Cursos\Angular\ang-hello-world\node_modules\typescript\lib\typescript.js:98688:20)

** **Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/** **

Результат, который я получаю в моем браузере после запуска этого проекта:

Cannot GET /

Ответы [ 4 ]

99 голосов
/ 08 мая 2020

редактировать

Если вы используете angular 9.1.6, теперь все будет в порядке

npm update @angular/cli @angular/core

исходный пост

Что-то не работает в Angular 9.1.5 - если вы запустите следующее, оно должно работать:

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

ng build

Просто потратил около 4-5 часов, пытаясь исправить это сам ...

Проблема, похоже, связана с использованием Angular CLI 9.1.4 с Angular 9.1.5 (скорее всего, компилятор

Вы увидите проблему, когда сделаете

ng --version

, если вы получите:

Angular CLI: 9.1.4
Node: 12.16.3
OS: win32 x64

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

Тогда вам нужно будет выполнить npm установок, перечисленных выше

4 голосов
/ 08 мая 2020

Только что выпущенная версия 9.1.6 должна исправить эту проблему

3 голосов
/ 08 мая 2020

@ Ответ Мэтта сработал для меня и для ng serve , но потребовались дополнительные шаги. Сначала выполните эти шаги «Процитируем шаги из его ответа»:

  1. Первая проверка ng --version. Go к следующему шагу, если вы получите:
Angular CLI: 9.1.4
Node: 12.16.3
OS: win32 x64

Angular: 9.1.5
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Принудительно переустановите пакеты 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

Еще несколько шагов, чтобы ng serve наконец заработало.

  1. Следующая ошибка была связана с tslib: An unhandled exception occurred: Cannot find module 'tslib' Для этого я установил пакет tslib вручную, используя npm.
  2. Следующей ошибкой, которую я получил, была You seem to not be depending on "@angular/core" and/or "rxjs". This is an error.. Для этого я сослался на "Кажется, вы не зависите от" @ angular / core ". и вуаля! ng serve сработал!
1 голос
/ 21 мая 2020

попробуйте это решение:

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

npm install

ng serve
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...