问题
After upgrading @angular/core and @angular/material using ng update command, the ngcc command fails with below error
command used:
ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points
Error:
> Compiling @angular/cdk/stepper : es2015 as esm2015
> Compiling @angular/cdk/drag-drop : es2015 as esm2015
> Error: Error on worker #3: Error: Tried to overwrite node_modules/@angular/cdk/stepper/step-header.d.ts.__ivy_ngcc_bak with an ngcc back up file, which is disallowed.
> at NewEntryPointFileWriter.InPlaceFileWriter.writeFileAndBackup (node_modules/@angular/compiler-cli/ngcc/src/writing/in_place_file_writer.js:37:23)
> at NewEntryPointFileWriter.writeFile (node_modules/@angular/compiler-cli/ngcc/src/writing/new_entry_point_file_writer.js:64:53)
> at node_modules/@angular/compiler-cli/ngcc/src/writing/new_entry_point_file_writer.js:46:69
> at Array.forEach (<anonymous>)
> at NewEntryPointFileWriter.writeBundle (node_modules/@angular/compiler-cli/ngcc/src/writing/new_entry_point_file_writer.js:46:30)
> at ClusterWorker.compile (node_modules/@angular/compiler-cli/ngcc/src/main.js:173:32)
> at Worker.<anonymous> (node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/worker.js:44:42)
> at Worker.emit (events.js:321:20)
> at process.<anonymous> (internal/cluster/worker.js:32:12)
> at process.emit (events.js:321:20)
> at ClusterMaster.onWorkerMessage (node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:158:27)
> at node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:46:95
> at ClusterMaster.<anonymous> (node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:238:57)
> at step (node_modules/tslib/tslib.js:136:27)
> at Object.next (node_modules/tslib/tslib.js:117:57)
> at node_modules/tslib/tslib.js:110:75
> at new Promise (<anonymous>)
> at Object.__awaiter (node_modules/tslib/tslib.js:106:16)
> at EventEmitter.<anonymous> (node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:232:32)
> at EventEmitter.emit (events.js:321:20)
回答1:
Turning enableIvy off, did work for me.
from tsconfig file, under angularCompilerOptions
add "enableIvy": false
回答2:
Make sure to clean your workspace after upgrading to angular 9 and reinstall all packages/dependencies. It actually resolved most of my errors.
Cleaning workspace by deleting node_modules folder, package_lock.json and reinstalling all packages by npm install resolved most of the issues
- Delete your
node_modulesfolder - Delete
package_lock.json - Reinstall packages after deleteing with
npm install
回答3:
This is a known issue and I have been following this thread for potential solutions thought it might help you all as well.
来源:https://stackoverflow.com/questions/60130728/tried-to-overwrite-angular-cdk-stepper-step-header-d-ts-ivy-ngcc-bak-with-an