so today I wanted to create a new Angular project using the command ng new <projectname> and I got this error:
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: project-name@0.0.0
npm ERR! Found: jasmine-core@3.6.0
npm ERR! node_modules/jasmine-core
npm ERR! dev jasmine-core@"~3.6.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer jasmine-core@">=3.7.1" from karma-jasmine-html-reporter@1.6.0
npm ERR! node_modules/karma-jasmine-html-reporter
npm ERR! dev karma-jasmine-html-reporter@"^1.5.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
I literally tried everything, I updated npm, installed Angular cli again, download and installed node again, npm audit, and a lot of other things but nothing happened.
Also as you can see error told me to use the command with --force, I tried but nothing happened, and with --legacy-peer-deps, I get the error as unknown option.
What is bothering me the most is that everything was working completely right last night and I changed nothing at all but suddenly I'm getting this error today.
They have released Karma Jasmine html reporter few hours ago. This maybe what is breaking the code.
The update is most likely the cause.
You should change the package.json and get the older version of the Karma Jasmine older version
Open the folder you create with ng new and open the package.json file. In devDependencies change the version of "jasmine-core" 3.6.0 to 3.8.0 and "karma-jasmine-html-reporter" from 1.7.0 to 1.6.0 and save it. Then go back to Terminal and go to your project and run npm install. Now it works and you can run ng serve.
Edit 2021
"jasmine-core": "~3.8.0",
"karma-jasmine-html-reporter": "^1.7.0"
Looks like the issue with latest NPM 7.12.0 and the latest Node 16.1.0(Current Version)
In my case I followed the below steps -
LTS: 14.16.1)
NPM : 6.14.12ng new my-appI had the same problem and I solved it with reinstalling nodeJs 14.16.1 but I had to change the version of npm manually with the command
npm install -g npm@6.14.12
After of course, I tested the modifications by creating a project
ng new <MyProjet>
I solved this issue by using this command inside my project directory:
then I ran my project using "ng serve"
Mine is a temporary solution for angular-cli v11.2.12 based on @david-Öztürk answer and on this angular-cli github issue discussions and on its merged fix.
By executing the steps listed on @david-Öztürk answer I was still getting the same error. And also the fix is more conservative than the proposed solution. I hope it helps someone else:
Run the Angular project creation without automatic npm packages installation:
ng new --skip-install <project-name>
Enter project directory:
cd <project-name>
Edit package.json and change this...
"karma-jasmine-html-reporter": "^1.5.0",
...to this:
"karma-jasmine-html-reporter": "~1.5.0",
Manually install npm packages:
npm install
Error Details after doing
ng new my-app
npm ERR! Could not resolve dependency:
npm ERR! peer jasmine-core@">=3.7.1" from karma-jasmine-html-reporter@1.6.0
Fix Details
sudo npm install -g npm@7.13.0 => updated npm from 7.10.0 to 7.13.0"jasmine-core" from 3.6.0 to 3.7.1 i.e "jasmine-core": "~3.7.1", in package.jsonnpm installAfter this found no issues and I was able to do ng build and ng serve.
Other settings I left as it was :
"@types/jasmine": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
install node, if you do not have it or update to the newest version: https://nodejs.org/en/download/package-manager/
update your npm: npm install npm@latest -g
optional : npm i update-node
This will update angular to its newest version: npm install -g @angular/cli Create a new angular project: ng new projectName Change directory the projectName: cd projectName Serve the project ng s
If you're still experiencing this after trying some/all of the above options, Just downgrade npm version from 7 to 6: npm install -g npm@6
I encountered this issue today, after updating npm to latest - currently 8.5.3. THen I simply run ng new <my-new-project> from command-line, adding Angular Route I answered y, and selected SCSS. ng did his thing and I got the error, only different versions:
Angular 12
jasmine-core - In the error states "jasmine-code@3.7.1" and I
need "jasmine-code@>=3.8")karma-jasmine-html-reporter (error
states "@^1.5.0" and I need "@1.7.0")node_modules and
packages.json- no mention, nor trace, of those.After reading this issue and answers. I decided to update my Angular to the latest and run ng -g i angular-cli@latest and I received an error that the file ng.cmd already exists in folder {Windows-users-username-folder}\AppData\Roaming\npm\ng.cmd - I deleted the file. The 2nd time I run the update of Angular I received the same error on file ng. (deleted it) and the 3rd time the error was on ng.ps1 (deleted it three). Then update of Angular was successful. Then I run ng new <my-new-project> and it was successful as well.
By the way, in my new project's packages.json I see:
"devDependencies": {
"@angular/compiler-cli": "^2.3.1",
"@types/jasmine": "2.5.38",
"@types/node": "^6.0.42",
"angular-cli": "1.0.0-beta.28.3",
"codelyzer": "~2.0.0-beta.1",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"protractor": "~4.0.13","ts-node": "1.2.1", "tslint": "^4.3.0",
"typescript": "~2.0.3"
}
Nothing even remotely similar to what was stated in the error.
What it worked for me was manually update package.json to look like this
"jasmine-core": "~3.8.0",
"karma-jasmine-html-reporter": "^1.7.0"
and then I tried
npm install
but didn't work either so I tried
npm install --legacy-peer-deps
and then everything worked again I was able to do
npm start as usual
Does not help update npm nor node.js. Strange error, strange error mesages. Does help to update package.json - change version of something 'jasmine' - "jasmine-core": "~3.8.0". I don't know what is it for, but it make problems.
Just do the following in the package.json
"jasmine-core": "~3.8.0",
"karma-jasmine-html-reporter": "^1.7.0",
then do npm install
You can update angular cli globally: npm update @angular/cli -g
If you are still facing this problem then try to make sure your package.json have all versions matching other supporting library versions. The jasmine-core had to be greater than 3.8 with karma-jasmine-html-report 1.7+
here is how my devDependecies looked inside package.json
"devDependencies": {
"@angular-devkit/build-angular": "~12.0.0",
"@angular/cli": "~12.0.0",
"@angular/compiler-cli": "~12.0.0",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"jasmine-core": "~3.8.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"typescript": "~4.2.3"
}
Edit the package.json in your project folder.
"jasmine-core": "~3.7.0" to "jasmine-core": "~3.8.0", "karma-jasmine-html-reporter": "^1.5.0" to "karma-jasmine-html-reporter": "^1.6.0"
After run npm install in your project folder.