Ng serve throwing @angular/core/core has no exported member 'eeFactoryDef'
Im getting like 50 errors that all say that angular/core/core has no exported member 'eeFactoryDef'.
They come from different node_modules, for example angular/cdk, ng-bootstrap, ngx-pipes, ng2-dragula and some more. I didn't find anything from google either.
../node_modules/@angular/cdk/drag-drop/typings/directives/drag-handle.d.ts:23:33 - error TS2694: Namespace '"/Users/heikopiirme/Documents/realNewClient/client/node_modules/@angular/core/core"' has no exported member 'ɵɵFactoryDef'.
23 static ngFactoryDef: ɵngcc0.ɵɵFactoryDef<CdkDragHandle>;
This is my package.json file:
Here are my depencencies:
"@angular-skyhook/core": "^1.1.1",
"@angular-skyhook/multi-backend": "^1.1.1",
"@angular/animations": "^8.2.6",
"@angular/cdk": "^8.2.0",
"@angular/common": "^8.2.6",
"@angular/compiler": "^8.2.6",
"@angular/core": "^8.2.6",
"@angular/forms": "^8.2.6",
"@angular/http": "^7.1.4",
"@angular/material": "^8.2.0",
"@angular/platform-browser": "^8.2.6",
"@angular/platform-browser-dynamic": "^8.2.6",
"@angular/router": "^8.2.6",
"@ng-bootstrap/ng-bootstrap": "^5.1.1",
"@ng-select/ng-select": "^3.0.7",
"@swimlane/ngx-datatable": "^13.1.0",
"@types/googlemaps": "^3.36.5",
"angular2-draggable": "^2.3.1",
"bootstrap": "^4.2.1",
"core-js": "^2.6.1",
"drag-drop-webkit-mobile": "^1.4.1",
"exif-js": "^2.3.0",
"hammerjs": "^2.0.8",
"mobile-drag-drop": "^2.3.0-rc.2",
"moment": "^2.24.0",
"moment-range": "^4.0.2",
"net": "^1.0.2",
"ng2-dnd": "^5.0.2",
"ng2-dragula": "^2.1.1",
"ng2-file-upload": "^1.3.0",
"ng2-img-max": "^2.1.18",
"ngx-bar-rating": "^1.1.0",
"ngx-bootstrap": "^4.3.0",
"ngx-material-timepicker": "^5.1.0",
"ngx-permissions": "^5.0.0",
"ngx-pipes": "2.5.6",
"ngx-toastr": "^10.0.4",
"react-dnd-html5-backend": "^7.6.0",
"rxjs": "^6.5.3",
"sockjs-client": "^1.3.0",
"stompjs": "^2.3.3",
"touchscreen-dnd-shim": "^1.2.2",
"underscore": "^1.9.1",
"zone.js": "~0.9.1"
And here are my dev dependencies:
"@angular-devkit/build-angular": "^0.803.4",
"@angular/cli": "~8.3.4",
"@angular/compiler-cli": "^8.2.6",
"@angular/language-service": "^8.2.6",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^8.9.5",
"codelyzer": "~5.0.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.1.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"node-sass": "^4.12.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"typescript": "~3.5.3"
}
Couldn't find any information on google for some reason.
Solution 1:
I ran into this after updating some packages (including Angular from 8 to 9), then downgrading again.
The solution was to nuke the node_modules
folder and then do a fresh npm install.
Solution 2:
I'm getting the same error. I'm using Angular 9.7.1, I first tried to delete the node_modules and npm install but it didn't work so I finally fixed it adding this to the tsconfig.json:
"compilerOptions":{
[...]
"paths": {
"@angular/*": ["./node_modules/@angular/*"]
}
}
Solution 3:
In addition to the reasons/solutions previously shared, another reason this could happen is if npm packages are incompatible with your current Angular version.
For example, I got these after running npm i primeng
. NPM installed the most recent version (v12), but I was only running ng11.
In my case, the solution was to upgrade Angular, but another solution would be to downgrade the npm package.