问题
I am using Angular 8 for my project, using Node Version 10.15.3( had tried with other versions including latest 12.31.1). This works fine on MAC but while running on the Windows it stops on the browser with the error
NullInjectorError: "StaticInjectorError(AppModule)[MatCommonModule -> HighContrastModeDetector]:
StaticInjectorError(Platform: core)[MatCommonModule -> HighContrastModeDetector]:
NullInjectorError: No provider for HighContrastModeDetector!"
Is this related to my hardware (how does it is related)?
回答1:
The issue is not related Node version. Its due to incompatible Angular Material and Angular versions. For angular 8, you need angular material version 8.2.3. Run below command from your project root directory.
npm i --save @angular/cdk@8.2.3 @angular/material@8.2.3
For steps to find out compatible angular and angular material version see ans to this SO post.
回答2:
In my case, @angular/cdk version was causing the error.
Setting it from github:angular/cdk-builds to ^8.1.4 on package.json and then running a npm install solved the problem
回答3:
In my case , incompatible versions of @angular/cli and @angular/material was causing the error.
to solve it :
try to upgrade node package modules to compatible versions in package.json and then run npm install --save command.
来源:https://stackoverflow.com/questions/59031570/nullinjectorerror-no-provider-for-highcontrastmodedetector