安装 npm react-facebook-login 时出现“ERESOLVE 无法解析依赖树”

时间:2021-01-03 12:30:19

标签: javascript reactjs

尝试在我的 React 应用程序中安装 npm react-facebook-login,但我不断收到依赖错误?这听起来很可怕,我不想强​​制安装将来可能会损坏的东西。我是 javascript 新手,我应该通过哪些方式进行操作?

我已经尝试清除我的 npm 缓存并删除节点模块并重新安装它们,但是我仍然收到此错误。

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

我怎样才能在不造成任何未来问题的情况下克服这个问题?谢谢你的帮助。

3 个答案:

答案 0 :(得分:20)

此错误来自 npm 7.x 版。请再次尝试添加 --legacy-peer-deps 选项,如下所示:

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

答案 1 :(得分:0)

npm 从版本 6 升级到 7 后,我开始收到错误消息(如下)。

<块引用>

npm 错误!代码 ERESOLVE npm ERR! ERESOLVE 无法解析依赖 树

...

npm 错误!修复上游依赖项冲突,或使用 --force 或 --legacy-peer-deps 重试此命令以接受不正确(并且可能已损坏)的依赖项解析。

就我而言,使用 --legacy-peer-deps--force 会导致一个无用的包。

所以我尝试使用 node_modules 删除 package-lock.jsonyarn install 和 bundle。这生成了一个 yarn.lock 文件并创建了一个新的 package-lock.json,它在随后的 npm 运行中似乎运行良好。

附言这是一个临时解决方法,直到 npm 7 工作正常。之后,我将删除yarn.lock、package-lock.json和node_modules,并使用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

答案 2 :(得分:0)

您很有可能在创建应用程序后更新了您的 npm。因此,您的 node_modules 和 package-lock.json 与更新不兼容。所以,你必须重新安装这两个文件。

rm node_modules
rm package-lock.json
npm install

希望您的问题得到解决。