unable to resolve dependency tree error for creating new angular project

AngularWebNpm

Angular Problem Overview


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.

Angular Solutions


Solution 1 - Angular

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"

Solution 2 - Angular

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

Note: The version 1.5.0 here was used because it is the version that appears in the error message and we are tying to be more conservative here. Please adapt the version according to your specific necessity. For newer projects the version 1.7.0 may be more suited but it can change with time. Read your specific error message in order to chose what better addresses your specific case.

Solution 3 - Angular

I 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>

Solution 4 - Angular

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"
  }

Solution 5 - Angular

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 -

  1. Uninstall Node
  2. Re-Install the Latest Node (LTS: 14.16.1)
    • Which will install the latest NPM : 6.14.12
  3. Run the ng new my-app

Solution 6 - Angular

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

Solution 7 - Angular

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

Solution 8 - Angular

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

Solution 9 - Angular

You can update angular cli globally: npm update @angular/cli -g

Solution 10 - Angular

I solved this issue by using this command inside my project directory:

  1. npm install --save-dev @angular-devkit/build-angular --force
  2. npm audit fix --force

then I ran my project using "ng serve"

Solution 11 - Angular

Error Details after doing ng new my-app

npm ERR! Could not resolve dependency:

npm ERR! peer jasmine-core@">=3.7.1" from [email protected]

Fix Details

  1. sudo npm install -g [email protected] => updated npm from 7.10.0 to 7.13.0
  2. Only changed "jasmine-core" from 3.6.0 to 3.7.1 i.e "jasmine-core": "~3.7.1", in package.json
  3. npm install

After 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",

Solution 12 - Angular

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.

Solution 13 - Angular

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.

Solution 14 - Angular

Just do the following in the package.json

"jasmine-core": "~3.8.0",

"karma-jasmine-html-reporter": "^1.7.0",

then do npm install

Solution 15 - Angular

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

  • No jasmine-core - In the error states "[email protected]" and I need "jasmine-code@>=3.8")
  • No karma-jasmine-html-reporter (error states "@^1.5.0" and I need "@1.7.0")
  • Checked 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.

Solution 16 - Angular

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNima SoltanView Question on Stackoverflow
Solution 1 - AngularDavid ÖztürkView Answer on Stackoverflow
Solution 2 - AngularIoguiView Answer on Stackoverflow
Solution 3 - AngularMaximeView Answer on Stackoverflow
Solution 4 - AngularPrashant RajputView Answer on Stackoverflow
Solution 5 - AngularMBBView Answer on Stackoverflow
Solution 6 - AngularCaesariusView Answer on Stackoverflow
Solution 7 - AngularNoviceDeveloperView Answer on Stackoverflow
Solution 8 - AngularJeyson MgView Answer on Stackoverflow
Solution 9 - AngularMateusz PorebaView Answer on Stackoverflow
Solution 10 - AngularRahul SharmaView Answer on Stackoverflow
Solution 11 - AngularManish KumarView Answer on Stackoverflow
Solution 12 - AngularLorenzo Dimitri BonoView Answer on Stackoverflow
Solution 13 - AngularbmiView Answer on Stackoverflow
Solution 14 - Angularimal hasaranga pereraView Answer on Stackoverflow
Solution 15 - AngularBinyamin RegevView Answer on Stackoverflow
Solution 16 - AngularCodeTzuView Answer on Stackoverflow