Angular CLI - Typescript throws: Невозможно прочитать длину свойства undefined

Я запускаю проект angular 4 с помощью ng serve и получаю ошибку

Cannot read property 'length' of undefined

но у меня нет длины свойства в моем проекте.

полная ошибка

    Your global Angular CLI version (1.2.1) is greater than your local
version (1.1.3). The local Angular CLI version is used.

To disable this warning use "ng set --global warnings.versionMismatch=false".
Cannot read property 'length' of undefined
TypeError: Cannot read property 'length' of undefined
    at createSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15457:109)
    at parseSourceFileWorker (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15389:26)
    at Object.parseSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15338:26)
    at Object.createSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15192:29)
    at VirtualFileStats.getSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\@ngtools\webpack\src\compiler_host.js:66:35)
    at WebpackCompilerHost.getSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\@ngtools\webpack\src\compiler_host.js:213:38)
    at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67909:29)
    at processImportedModules (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:68056:25)
    at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67937:17)
    at processImportedModules (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:68056:25)
    at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67937:17)
    at processSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67840:27)
    at processRootFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67728:13)
    at E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67018:60
    at Object.forEach (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:1449:30)
    at Object.createProgram (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67018:16)
PS E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master>

package.json

{
  "name": "firestarter",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.2.4",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/platform-server": "^4.2.4",
    "@angular/router": "^4.2.4",
    "@types/lodash": "^4.14.67",
    "angularfire2": "^4.0.0-rc.1",
    "core-js": "^2.4.1",
    "firebase": "^4.1.3",
    "lodash": "^4.17.4",
    "rxjs": "^5.4.1",
    "zone.js": "^0.8.12"
  },
  "devDependencies": {
    "@angular/cli": "^1.1.3",
    "@angular/compiler-cli": "^4.2.4",
    "@types/jasmine": "2.5.53",
    "@types/node": "~8.0.4",
    "codelyzer": "~3.1.1",
    "jasmine-core": "~2.6.4",
    "jasmine-spec-reporter": "~4.1.1",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.3.0",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.1.0",
    "tslint": "~5.4.3",
    "typescript": "=2.3.4"
  }
}

Ответ 1

Возможно, вам не хватает одного или нескольких файлов, которые пытается обработать typescript. Чтобы узнать, какой файл вам не хватает, просто добавьте

console.log(имя_файла);

при запуске функции createSourceFile в файле node_modules/typescript/lib/typescript.js.

Ответ 2

Скорее всего, вы изменили свои модули таким образом, чтобы CLI был перезапущен.

У меня была ошибка с ошибкой ng serve после удаления компонента из модуля. Перезапустив этот процесс и перезапустив ng serve, ошибка исчезла.

Ответ 3

Моя проблема заключалась в том, что по какой-то причине мой файл envioroment.ts отсутствовал. Поэтому проверьте важные файлы.

Ответ 4

Моя ошибка была вызвана ошибкой c & p при создании небольшого компонента. Я забыл изменить путь к шаблону компонента и стилям.

Ответ 5

Я решил эту проблему (ошибка во время теста рефакторинга). Все хорошо для угловых v4.3. * И v4.4 *

  1. Измените @angular/cli версию 1.7.3 на 1.4.10 в package.json (последняя версия для angular4)
  2. rm -rf node_modules
  3. npm install --no-optional

Ответ 6

В моем случае я сделал следующее, и это решило проблему:

  1. Создайте папку сред (если она не существует) в src проекта C:\Users\abcd\Desktop\MyApp\src

  2. Поместите два файла environment.ts и environment.prod.ts в папку Environment.