kri*_*ary 10 javascript npm reactjs reactstrap
"@popperjs/core": "^2.6.0",
"@testing-/jest-dom": "^5.11.9",
"@testing-/react": "^11.2.3",
"@testing-/user-event": "^12.6.2",
"bootstrap": "^4.6.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.1",
"react-transition-group": "^4.4.1",
Run Code Online (Sandbox Code Playgroud)
我在 package.json 文件中拥有的依赖项的版本。
G:\Projects\React\confusion> npm install --save Reactstrap
npm WARN ERESOLVE 覆盖对等依赖
npm WARN 发现:react@17.0.1
npm WARN node_modules/react
npm WARN Peer React@" " from @testing-/react@11.2.3
npm WARN node_modules/@testing-/react
npm WARN @testing -/react@"^11.2.3" 来自根项目
npm WARN 3 more (react-dom、根项目、reactstrap)
npm WARN
npm WARN 无法解析依赖关系:
npm WARN Peer React@"0.14.x || ^ 15.0.0 || ^16.0.0" 来自react-popper@1.3.7
npm 警告node_modules/react-popper
npm 警告react-popper@"^1.3.6" 来自reactstrap@8.9.0
npm 警告node_modules/reactstrap
npm ERR !代码 ERESOLVE
npm 错误!ERESOLVE 无法解析依赖树
npm 错误!npm 错误!发现:react@17.0.1
npm 错误!node_modules/react
npm 错误!来自@testing-/react@11.2.3
npm 的同行react@" " 错误!node_modules/@testing-/react
npm 错误!来自根项目
npm 的 @testing-/react@"^11.2.3" 错误!来自react-dom@17.0.1的同行react@“17.0.1”
npm错误!node_modules/react-dom
npm 错误!来自 @testing-/react@11.2.3
npm的同行react-dom@" "
错误!node_modules/@testing-/react
npm 错误!来自根项目
npm 的 @testing-/react@"^11.2.3" 错误!来自根项目
npm 的 React-dom@"^17.0.1" 错误!还有 1 个 (reactstrap)
npm 错误!还有 2 个(根项目,reactstrap)
npm 错误!
npm 错误!无法解决依赖关系:
npm ERR!来自 create-react-context@0.3.0 npm 的对等反应@“^0.14.0 || ^15.0.0 || ^16.0.0”
npm 错误!node_modules/react-popper/node_modules/create-react-context
npm 错误!来自react-popper@1.3.7 npm 的create-react-context@"^0.3.0"
错误!node_modules/react-popper
npm 错误!node_modules/reactstrap
npm 错误!来自根项目npm 的Reactstrap@"
"
错误!npm 错误!修复上游依赖冲突,或者重试
npm ERR!此命令带有 --force 或 --legacy-peer-deps
npm ERR!接受不正确的(并且可能损坏的)依赖关系解析。
MoO*_*oOx 13
在你的中尝试这样的事情package.json
"engines": {
"npm": ">=8.7.0"
},
"overrides": {
"react": "$react"
}
Run Code Online (Sandbox Code Playgroud)
这将强制 React 成为您"dependencies"
为所有依赖项(以及 deps 的 deps)定义的版本。你需要“最近的”npm,因为它在某些版本中存在错误(我有 8.3.0 并且覆盖不起作用)。8.7.0 看起来还可以!
请参阅https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
有两种方法可以解决这个问题。
您可以--legacy-peer-deps
在安装新软件包时指定标志。
# For NPM
npm install package_name --legacy-peer-deps
#For Yarn
yarn add package_name --legacy-peer-deps
Run Code Online (Sandbox Code Playgroud)
如果您不想--legacy-peer-deps
每次为项目安装新包时都指定该标志。
您只需在项目的根目录中创建一个文件即可。文件名将为.npmrc
(对于 NPM)或.yarnrc
(对于 Yarn)。更新文件如下:
为了.npmrc
:
legacy-peer-deps=true
Run Code Online (Sandbox Code Playgroud)
为了.yarnrc
:
npmClientArgs: "--legacy-peer-deps"
Run Code Online (Sandbox Code Playgroud)
希望对你有帮助:)
归档时间: |
|
查看次数: |
87144 次 |
最近记录: |