Angular9: ngcc не запускается

Я пытаюсь обновиться с Angular 8 до 9 (Ivy). Я пытаюсь использовать общую библиотеку, которая скомпилирована с использованием Angular 8. Я добавил:

"postinstall":"ngcc"

в моем package.json и попытался запустить ngcc. Каждый раз это дает мне следующую ошибку:

TypeError: fn(...).finally is not a function
      at AsyncLocker.<anonymous> (...../node_modules/@angular/compiler-cli/ngcc/src/locking/async_locker.js:44:63)
        at step (.../node_modules/tslib/tslib.js:139:27)
        at Object.next (.../node_modules/tslib/tslib.js:120:57)
        at fulfilled (.../node_modules/tslib/tslib.js:110:62)
        at <anonymous>
        at process._tickCallback (internal/process/next_tick.js:189:7)
        at Function.Module.runMain (module.js:696:11)
        at startup (bootstrap_node.js:204:16)
        at bootstrap_node.js:625:3
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] postinstall: `ngcc`
    npm ERR! Exit status 1
    npm ERR! 

Я попытался удалить node_modules, выполнить новую установку npm и попытаться, но ошибка не исчезла.

Вот мой tsconfig.json

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ES2015",
    "lib": [
      "es2015",
      "dom"
    ],
    "moduleResolution": "node",
    "sourceMap": true,
    "declaration": true,
    "importHelpers": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "suppressImplicitAnyIndexErrors": true,
    "typeRoots": [
      "node_modules/@types"
    ]
  },
  "exclude": [
    "node_modules",
    "dist",
    "src/**/*.spec.ts",
    "src/**/*.e2e.ts",
    "**/*.ngfactory.ts"
  ],
  "angularCompilerOptions": {
    "entryModule": "./src/app/app.module#AppModule",
    "skipMetadataEmit": true
  }
}

Любая помощь в этом будет приветствоваться. Спасибо.


person userx    schedule 23.04.2020    source источник
comment
Еще одна вещь, которую я сделал, - это установил последнюю версию tslib.   -  person userx    schedule 24.04.2020
comment
... почему вы хотите запустить ngcc ..?   -  person MikeOne    schedule 24.04.2020
comment
Я пытаюсь использовать общую библиотеку, которая скомпилирована с использованием Angular 8.   -  person userx    schedule 24.04.2020
comment
Айви сделает это за вас автоматически .. просто запустите ng serve ..?   -  person MikeOne    schedule 24.04.2020
comment
это не проект на основе CLI.   -  person userx    schedule 24.04.2020
comment
Верно. Удачи   -  person MikeOne    schedule 24.04.2020


Ответы (1)


У меня было аналогичное сообщение об ошибке при использовании npm install для переустановки приложения Angular 9 из системы управления версиями.

В моем случае проблема была вызвана наличием более старой версии Node.

Установка последней версии Node устранила проблему.

person Simon H    schedule 17.08.2020
comment
Это то, что я могу попробовать. Спасибо за ответ. - person userx; 17.08.2020