"ERESOLVE unable to resolve dependency tree" when installing npm react-facebook-login

Viewed 111623

Trying to install npm react-facebook-login in my react app, but I keep getting dependency errors? That sounds scary and I don't want to force install something that can potentially break in the future. I'm new to javascript, what are some ways I should proceed?

I've tried clearing my npm cache and removing node modules and installing them again, however im still getting this error.

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: buckets@0.1.0
npm ERR! Found: react@17.0.1
npm ERR! node_modules/react
npm ERR!   react@"^17.0.1" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.0.0" from react-facebook-login@4.1.1
npm ERR! node_modules/react-facebook-login
npm ERR!   react-facebook-login@"*" 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.
npm ERR! 
npm ERR! See /home/user/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2021-01-03T12_23_40_000Z-debug.log

debug log:

0 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', 'react-facebook-login' ]
1 info using npm@7.0.15
2 info using node@v15.4.0
3 timing config:load:defaults Completed in 4ms
4 timing config:load:file:/usr/lib/node_modules/npm/npmrc Completed in 12ms
5 timing config:load:builtin Completed in 12ms
6 timing config:load:cli Completed in 1ms
7 timing config:load:env Completed in 1ms
8 timing config:load:file:/home/user/app/frontend/buckets/.npmrc Completed in 0ms
9 timing config:load:project Completed in 1ms
10 timing config:load:file:/home/user/.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:/usr/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 1ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 21ms
19 verbose npm-session a80715ea0624d48b
20 timing npm:load Completed in 30ms
21 timing arborist:ctor Completed in 1ms
22 timing idealTree:init Completed in 1531ms
23 timing idealTree:userRequests Completed in 4ms
24 silly idealTree buildDeps
25 silly fetch manifest react-facebook-login@*
26 http fetch GET 200 https://registry.npmjs.org/react-facebook-login 2249ms
27 silly fetch manifest react@^17.0.1
28 http fetch GET 200 https://registry.npmjs.org/react 142ms
29 timing idealTree Completed in 3940ms
30 timing command:install Completed in 3944ms
31 verbose stack Error: unable to resolve dependency tree
31 verbose stack     at Arborist.[failPeerConflict] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1045:25)
31 verbose stack     at Arborist.[loadPeerSet] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1025:36)
31 verbose stack     at async Arborist.[buildDepStep] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:781:11)
31 verbose stack     at async Arborist.buildIdealTree (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:209:7)
31 verbose stack     at async Promise.all (index 1)
31 verbose stack     at async Arborist.reify (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:122:5)
31 verbose stack     at async install (/usr/lib/node_modules/npm/lib/install.js:39:3)
32 verbose cwd /home/user/app/frontend/buckets
33 verbose Linux 5.4.0-58-generic
34 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "react-facebook-login"
35 verbose node v15.4.0
36 verbose npm  v7.0.15
37 error code ERESOLVE
38 error ERESOLVE unable to resolve dependency tree
39 error
40 error While resolving: [1mbuckets[22m@[1m0.1.0[22m
40 error Found: [1mreact[22m@[1m17.0.1[22m[2m[22m
40 error [2mnode_modules/react[22m
40 error   [1mreact[22m@"[1m^17.0.1[22m" from the root project
40 error
40 error Could not resolve dependency:
40 error [35mpeer[39m [1mreact[22m@"[1m^16.0.0[22m" from [1mreact-facebook-login[22m@[1m4.1.1[22m[2m[22m
40 error [2mnode_modules/react-facebook-login[22m
40 error   [1mreact-facebook-login[22m@"[1m*[22m" from the root project
40 error
40 error Fix the upstream dependency conflict, or retry
40 error this command with --force, or --legacy-peer-deps
40 error to accept an incorrect (and potentially broken) dependency resolution.
40 error
40 error See /home/user/.npm/eresolve-report.txt for a full report.
41 verbose exit 1

How can I overcome this without causing any future problems? Thank you for the help.

11 Answers

This error comes from version 7.x of npm. Please try again adding the --legacy-peer-deps option, as follows:

npm install react-facebook-login --legacy-peer-deps

Since npm install seems broked i tried:

yarn install

And it works!

Thanks

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, using either --legacy-peer-deps or --force 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 a new package-lock.json that seemed to work fine in subsequent npm runs.

p.s. This is a temporary workaround until npm 7 works fine. After that, I will delete yarn.lock, package-lock.json and node_modules, and re-bundle using 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

Use this at the end --force, or --legacy-peer-deps

Eg:-

npm install --force

or

npm install --legacy-peer-deps

I face this challenge too, and I was trying to run my react.js application.

I have solved it by running: npm install --legacy-peer-deps

After It started as normal

@react-native-firebase/app@12.6.1
├── @react-native-firebase/auth@12.6.1
├── @react-native-firebase/firestore@12.7.1

Notice that firestore has a version of 12.7.1 and all other has 12.6.1, as firestore is a peer of other modules, to maintain consistency, it is also ought to be of the same version as it's peers, when that doesn't happens then you result in the error you have mentioned,

until the first number of the version doesn't changes, you can use --legacy-peer-deps and the result will be somewhat above [get the list of packages installed using npm ls --depth=0,

however if you want all of them to be of the same version, you can do the following

  • type npm update and all the packages will be updated to the latest version, the version will be mostly in which the second number changes. you can also use npm update with the specific package to only update the one you want to in order to resolve the error.

  • install the specific version of the module by npm install [package-name]@[version-number]

Simply adding --force help me to resolve this error.

yarn install --force

on the command, you are running just add on this --legacy-peer-deps

for me, the command was

npm install @reduxjs/toolkit react-redux

then I added

npm install @reduxjs/toolkit react-redux --legacy-peer-deps

and then boom it works

Try running

npm update

especially if the error is a result of a firebase package that may be having a version that is outdated thus conflicting with its peers. Solved my issue as suggested by @snehal

Maybe you are trying to install the packages into a wrong file path.

Try this code , and you should be fine:

npm install --save react-typical --legacy-peer-deps

Related