Unable to resolve dependency tree error when installing npm packages

AngularjsAngularTypescriptNpmAngular9

Angularjs Problem Overview


When trying to install the npm packages using npm i command, I am getting the following exception:

Enter image description here

I have tried reinstalling the Node.js package and setting the proxy to off using:

set HTTP_PROXY=
set HTTPS_PROXY=

The issue is still there. What I am doing wrong?

Update:

When I run the following command:

npm install --legacy-peer-deps

The following error is displayed:

Enter image description here

Angularjs Solutions


Solution 1 - Angularjs

This is not related to an HTTP proxy.

You have dependency conflict (incorrect and potentially broken dependency) as it says, so try to run the command with --force, or --legacy-peer-deps. If it doesn't take effect, the temporary solution is using prior versions of the Node.js (downgrading the Node.js version) as it causes this kind of errors to happen sometimes.

Update based on the OP's update:

As you see, it fires the following error:

> No matching version found for @angular/http@^9.1.4.

Take a look at angular/http page. Note that the latest version for that deprecated package is 7.2.16 while you request an upper version (e.g., ^9.1.4)! So, try to check the project dependencies and follow the raised errors in order to solve the problem.

Solution 2 - Angularjs

Try this command-

npm install --save --legacy-peer-deps

Solution 3 - Angularjs

In addition to using the --legacy-peer-deps command line option, this can also be set more permanently as a config option:

npm config set legacy-peer-deps true

Solution 4 - Angularjs

First to understand the problem. Here is what I have as error:

npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: project-admin@11.0.0
npm ERR! Found: @angular/common@11.0.3
npm ERR! node_modules/@angular/common
npm ERR!   @angular/common@"11.0.3" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"^9.1.0 || ^10.0.0" from @agm/core@3.0.0-beta.0
npm ERR! node_modules/@agm/core
npm ERR!   @agm/core@"3.0.0-beta.0" from the root project

First you should start to read the problem from the bottom to the top. Here @agm/[email protected] requires angular common 9.1.0 or 10.0.0. And the top message says that the angular common found is actually 11.0.3.

(If you want to understand dependencies little bit better, here is very simple site: How npm3 Works)

dependencies — these are the essential dependencies that you rely on and call in your project’s code
devDependencies — these are your development dependencies, for example, a prettier library for formatting code
peerDependencies — if you set a peer dependency in your package.json, you are telling the person who installs your package that they need that dependency with the specified version
optionalDependencies — these dependencies are optional and failing to install them will not break the installation process
bundledDependencies — it’s an array of packages that will come bundled with your package. This is useful when some 3rd party library is not on NPM, or you want to include some of your projects as modules

So what should be the solution then? The problem is about peer dependencies. The solution is to downgrade angular common or the solution is to use legacy dependencies logic for installing packages using --legacy-peer-deps. So --legacy-peer-deps does not try to install the peerDependencies automatically. Is this going to work for you? Probably, yes. But you should add specific instructions how to do that, or to make the use of --legacy-peer-deps automatic for future installation of the project packages with this code from one of the previous answers:

npm config set legacy-peer-deps true

In my case I installed the package and I tried to run ng serve, but because --legacy-peer-deps was used, there were dependency packages which were not installed. I had to install those manually (because I did not set the configuration from the code above). At the end installing about five packages manually, all with --legacy-peer-deps, I ended to a package that could not be installed and I did not try to continue, because my project was throwing warnings like crazy and there were a lot of packages for audit too. So my decision was not to use this package and to find an alternative.

Other solutions that I read about along the way:

  • downgrade Node.js to v14. This will downgrade npm. It might not be v14, but this was the version that was most widely downgraded to.
  • Some people use Yarn to force package installation - personally I don't understand how this works, because I haven't used Yarn.
  • downgrading Angular and the global Angular CLI version to version that will satisfy the requirement. In my case it is angular/common, and in the question it's angular/core, but both require downgrading the whole angular right (I am not sure about this here).
  • the package you install might have a higher version that doesn't require downgrading Angular. You might try to use the https://updatepackagejson.com/ to upgrade your packages to the latest, but this is in case your project is quite new.

Solution 5 - Angularjs

When using npm 7, this comes up a lot because peer dependencies issues are treated as errors in version 7 whereas they were generally only warnings in version 6. Usually using --legacy-peer-deps makes it work with npm 7.

When that doesn't work, an option is to downgrade to npm 6. Downgrading Node.js is not necessary (but not harmful either). The relevant dependency management code is in npm. Downgrading Node.js will often work coincidentally because doing so will often downgrade npm as well.

Another option that is less disruptive than downgrading npm is using npx to use the previous version of npm for just the install command: npx -p npm@6 npm install

And when all else fails, it's often worth a shot to remove the node_modules directory and package-lock.json, and then run npm install again. That regenerates node_modules and package-lock.json.

Solution 6 - Angularjs

Finally, I found the answer. Try this command -

npm install --save --legacy-peer-deps

Described here legacy-peer-deps

Solution 7 - Angularjs

This happens for some packages after updating to npm 7.

Paramter --legacy-peer-deps can help:

npm i --legacy-peer-deps

Described here legacy-peer-deps

> Causes npm to completely ignore peerDependencies when building a > package tree, as in npm versions 3 through 6. > > If a package cannot be installed because of overly strict > peerDependencies that collide, it provides a way to move forward > resolving the situation.
> ...

You can set this option to true by default (not recommended by npm):

npm config set legacy-peer-deps true

Or just wait until these packages get up to date.

Solution 8 - Angularjs

Just Do 2 simple steps:

First, execute this in your terminal.

npm config set legacy-peer-deps true

Second, Clear cache

npm cache clean --force

And finally, execute your command this will work for sure.

Solution 9 - Angularjs

The problem is related to a dependency conflict or broken dependency. You can proceed by accepting the incorrection of dependency by forcing an install.

Solution: Using command with --force.

Your command will be like npm install --force @your-npm-package.

Note: You can use yarn to install a dependency if it's available in to install with the yarn package manager.

Solution 10 - Angularjs

Try removing the node modules and package-lock.json file and run command npm install or Try npm cache clean --force

Solution 11 - Angularjs

First I tried

npm install

It gave me error unable to resolve dependency tree and based on the help information from this command,

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 tried this command:

npm install --legacy-peer-deps

And it solved my problem.

Solution 12 - Angularjs

The fastest solution: npm install --legacy-peer-deps

Explanation:

> In npm versions 3 through 6, peerDependencies were not automatically installed, and would raise a warning if an invalid version of the peer dependency was found in the tree. As of npm v7, peerDependencies are installed by default. > > npm docs: peerDependencies

Your dependency contains some peerDependencies that conflict with the root project's dependency.

As it described in the npm ERR log.

Solution 13 - Angularjs

NPM can be used to install and manage versions of dependencies in your projects.

I had it the same issue on React versions in relation with npm version > npm error found types/[email protected]

So it might be package-versions that need to be installed based on your package.json

It gives errors in npm@7 version and cannot install node modules. If you will downgrade npm version to 6, those problems will become warnings and the problem will be resolved.

  • Try to prove this command: npm install -g npm@6

  • Check if version is already installed: npm --version

  • Remove and install node_modules package:

    a) Remove rm -rf node_modules

    b) Install: npm i

Solution 14 - Angularjs

The problem seems to be that gf-kautomata-pipeline-ui is using Angular 9, while @angular/http requires Angular 7. (@angular/http was deprecated and eventually removed, and all its functionality was moved into @angular/common instead.)

See: https://www.npmjs.com/package/@angular/http

If you're running Angular 9, then

  1. delete @angular/http from your package.json (You don't need it in Angular 9)

  2. Make sure you have @angular/common in your package.json.

  3. Run npm i.

If you're running Angular 7, then open up your package.json and check to make sure all of your Angular packages are no higher than ^7.0.0. You may also need remove gf-kautomata-pipeline-ui, or contact the author of gf-kautomata-pipeline-ui and find out if the library is compatible with Angular 7.

Solution 15 - Angularjs

Try 2 options to resolve this issue option1 => delete node_modules and package_lock.json after run
npm cache clean --force after npm i --force option 2 => run npm install --save --legacy-peer-deps

Solution 16 - Angularjs

this works for me npm install --save --legacy-peer-deps

Solution 17 - Angularjs

In my case, I started getting the error (below) after upgrading npm from version 6 to 7.

> npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency > tree > > ... > > npm ERR! Fix the upstream dependency conflict, or retry this command with --force, or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution.

In my case compiling with either --legacy-peer-deps or --force flags resulted in a useless bundle.

So I tried deleting the node_modules, package-lock.json, and bundle using yarn install. This generated a yarn.lock file and created package-lock.json that worked fine in subsequent npm runs.

P.S.: I am using the temporary workaround until npm 7 works fine with my project: after that, I will delete yarn.lock, package-lock.json and folder node_modules, and recompile with npm

rm -rf node_modules
rm package-lock.json
yarn install
# Generates a yarn.lock file and a new package-lock.json

# Continue with npm
npm start

Solution 18 - Angularjs

I just update my Node.js and it works for me:

node -v

Output:

V xxxx

And:

sudo npm install -g n

(Use this command to install the stable node release.)

sudo n stable

Solution 19 - Angularjs

  1. If you have node_modules folder and package-lock.json file in your root directory then remove those:

    rm -r node_modules
    rm package-lock.json
    
  2. Then run commands:

    npm install --save --legacy-peer-deps
    npm audit fix --force
    
  3. Create .env file in the root directory and paste below code:

    SKIP_PREFLIGHT_CHECK=true
    
  4. Now, start your project:

    npm start
    

Solution 20 - Angularjs

I have faced this issue many times. At last I found a solution:

npm install react-native-paper  --legacy-peer-deps

Solution 21 - Angularjs

This is an issue of node version Some latest versions of the node could show errors like these.

https://github.com/nvm-sh/nvm I use NVM to manage Node versions on the system and use node 12 to get past this error

command to change version

nvm use 12

Solution 22 - Angularjs

npm install --legacy-peer-deps

This worked for me

Solution 23 - Angularjs

Resetting package-lock.json works good for me all the time:

git checkout -- package-lock.json

Details: Been experiencing this a lot when updating all packages of the legacy project - I highly don't recommend using npm audit fix nor npm i --force. Deleting the package-lock.json didn't work for me all the time as well. Rollback to the working version of package.json + package-lock.json and add packages turned out to be the safest and fastest variant for me.

Solution 24 - Angularjs

In my case I was having trouble with a @babel/core dependency, but I didn't want to use --force, because I was not sure about the consequences, so I went to https://www.npmjs.com/, looked for the package and replaced my old version with the newest one. That did the work.

Solution 25 - Angularjs

I solved this with by lowering the version of Node.js from the last version to the LTS version.

Solution 26 - Angularjs

Just in case, I did have similar behavior, when I tried either npm upgrade my current Angular 11.x based boilerplate from previous ng new or create new ng new abc based on Angular 12.x. I simply forgot to upgrade Angular CLI. So this npm install -g @angular/cli@latest solved my errors during ng new abc.

Solution 27 - Angularjs

For those who are getting errors while installing Bootstrap Paginator or table next

npm install react-bootstrap-table2-paginator --save

or

npm install react-bootstrap-table-next --save

Solution: Add --legacy-peer-deps after the command like

  • npm install react-bootstrap-table2-paginator --save --legacy-peer-deps
  • npm install react-bootstrap-table-next --save --legacy-peer-deps

Solution 28 - Angularjs

Even after uninstall/install NPM and CLI if still does not work then make sure you are inside the project folder. For example, you have created a root folder "myapplication". Now, you are running CLI command to create a brand new application under myapplication folder. After running command, you would get error like "ERESOLVE unable to resolve dependency tree". So, instead of running command on myapplication folder, go to new application folder inside myapplication folder and run/execute angular application. It would work fine.

Solution 29 - Angularjs

Yarn has a feature for solving this. If you can, try to use it for installing the package.

Solution 30 - Angularjs

ERESOLVE unable to resolve dependency tree error then add in the last of any dependency installation --legacy-peer-deps

Like: I am installing the socket.io so, I add --legacy-peer-deps in the last

$ npm install @nestjs/platform-socket.io @types/socket.io --legacy-peer-deps

Solution 31 - Angularjs

https://i.stack.imgur.com/6uz7m.png npm install --save --legacy-peer-deps

Solution 32 - Angularjs

For this case: I was having this issue: ERESOLVE unable to resolve dependency tree in an angular 13 project that used some packages from a private npm feed in azure devops.

To access this repository, I created an .npmrc file. Because of this, the npm install command would search all packages in my private repository and not in npm feed anymore. The unable to resolve the dependency tree error happened because the npm install command could not find many of the packages that were hosted in the npm feed and not my private feed.

I found this amazing answer on how to scope packages

Based on this I made some changes:

  1. In my library Package.json, update the name to have a scope name @mylib
"name": "@myLib/command-queue",
  1. Build and publish this package to my private feed
  2. In my client app (the one that uses this package), update the .npmrc file to use my private feed for packages in this scope only
@myLib:registry=https://pkgs.dev.azure.com/...
always-auth=true

Now, whenever I run the command npm install, if the package has the scope @myLib, it will look for it in my private feed, and use the npm feed for all other cases (i.e. @angular/...)

This is an example of my client app Package.json

    "@angular/platform-browser-dynamic": "~13.3.0",
    "@angular/router": "~13.3.0",        <-- this comes from npm
    "@myLib/jcg-command-queue": "^2.2.0", <-- This comes from my private feed

Also, with this change, there is no need to add --legacy-peer-deps to the npm install command anymore.

Solution 33 - Angularjs

npm audit fix --force

Worked for me

Solution 34 - Angularjs

Just Do Simple thing:

npm install --save --legacy-peer-deps

Solution 35 - Angularjs

Here is the solution.

Go to the project directory and do:

sudo rm ./package-lock.json
sudo npm install --force

Solution 36 - Angularjs

None of the previous answers helped me.

For me, updating npm to the latest version (to 7.11.1 from 7.8) using npm i -g npm fixed the issue for me.

Solution 37 - Angularjs

I finally found a solution:

  • install nvm
  • use nvm to install Node.js
  • enter cmd to use the LTS version
  • after that, my installation worked. It should be working for you too.

Solution 38 - Angularjs

  1. Add the dependency in file package.json
  2. Do npm install

Still seeing the error? Then

npm install --force`

Solution 39 - Angularjs

I had the same issue

npm install --legacy-peer-deps

This works for mine too. But I have a simpler answer. Just change the version number of it in the package.json file that is required. Then use

npm i

This will solve your problem (generate a new project as usual, without any potentially broken dependency issue).

Solution 40 - Angularjs

Start with the npm i --legacy-peer-deps flag first, and then use the --force flag next.

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
QuestionPearlView Question on Stackoverflow
Solution 1 - AngularjsAmirhossein MehrvarziView Answer on Stackoverflow
Solution 2 - AngularjsAli HasanView Answer on Stackoverflow
Solution 3 - AngularjsfriederbluemleView Answer on Stackoverflow
Solution 4 - AngularjsmakkasiView Answer on Stackoverflow
Solution 5 - AngularjsTrottView Answer on Stackoverflow
Solution 6 - AngularjsVinay SomawatView Answer on Stackoverflow
Solution 7 - AngularjsztomView Answer on Stackoverflow
Solution 8 - AngularjsVinit DabhiView Answer on Stackoverflow
Solution 9 - AngularjsAlyView Answer on Stackoverflow
Solution 10 - AngularjsKavinda SenarathneView Answer on Stackoverflow
Solution 11 - AngularjsQin ChenfengView Answer on Stackoverflow
Solution 12 - AngularjsLitileXueZhaView Answer on Stackoverflow
Solution 13 - AngularjsRigers LekaView Answer on Stackoverflow
Solution 14 - AngularjsEliezer BerlinView Answer on Stackoverflow
Solution 15 - Angularjsaakash sharmaView Answer on Stackoverflow
Solution 16 - AngularjsFahadView Answer on Stackoverflow
Solution 17 - Angularjsuser9869932View Answer on Stackoverflow
Solution 18 - AngularjsFarbod AprinView Answer on Stackoverflow
Solution 19 - AngularjsPrithu ShahiView Answer on Stackoverflow
Solution 20 - AngularjsMazhar kView Answer on Stackoverflow
Solution 21 - AngularjssamridhguptaView Answer on Stackoverflow
Solution 22 - Angularjskomal dubeyView Answer on Stackoverflow
Solution 23 - AngularjsSebastian VoráčView Answer on Stackoverflow
Solution 24 - AngularjsAlbertSawZView Answer on Stackoverflow
Solution 25 - AngularjsDor LeviView Answer on Stackoverflow
Solution 26 - AngularjsAndrii LundiakView Answer on Stackoverflow
Solution 27 - AngularjsSaurabh YadavView Answer on Stackoverflow
Solution 28 - AngularjsRaghubir SinghView Answer on Stackoverflow
Solution 29 - AngularjsEstiventh Leonardo Neira AldanView Answer on Stackoverflow
Solution 30 - AngularjsKhadim H.View Answer on Stackoverflow
Solution 31 - AngularjsVipin ChauhanView Answer on Stackoverflow
Solution 32 - AngularjsJulio CachayView Answer on Stackoverflow
Solution 33 - AngularjsRelu MesarosView Answer on Stackoverflow
Solution 34 - Angularjsyash sanghaviView Answer on Stackoverflow
Solution 35 - AngularjsSIDDHANT JOHARIView Answer on Stackoverflow
Solution 36 - AngularjsEliav LouskiView Answer on Stackoverflow
Solution 37 - AngularjskodeView Answer on Stackoverflow
Solution 38 - AngularjsRaj RajView Answer on Stackoverflow
Solution 39 - Angularjsshalitha anuradhaView Answer on Stackoverflow
Solution 40 - AngularjspiusView Answer on Stackoverflow