react-helmet-async 包的 npm 对等依赖项使用 React 17 时出错
npm peer dependencies for react-helmet-async package gives error using React 17
对于使用 create-react-app 引导的 React 17 项目,我想使用 react-helmet-async
包。
该项目具有以下对等依赖项,位于 package.json
文件中:
"peerDependencies": {
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
尝试安装软件包时,出现以下错误:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: project@1.0.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.6.0" from react-helmet-async@1.0.7
npm ERR! node_modules/react-helmet-async
npm ERR! react-helmet-async@"^1.0.7" 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/bas/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/bas/.npm/_logs/2021-02-11T13_55_56_813Z-debug.log
据我了解,react-helmet-async
包需要 React ^16.6.0 才能使用此包的项目。我可以使用 --force
选项来消除错误,但是当我尝试执行 npm update
时,它会反复出现。
我尝试在 package.json
中添加解决方案,试图强制包使用我正在使用的 React 版本。在运行一个npm install
或npm update
之前,我运行npx npm-force-resolutions
.
"resolutions": {
"react-helmet-async/react": "^17.0.1"
}
不幸的是,这没有用。有什么方法可以在不降级到 React 16 的情况下继续使用这个包而不会在我的控制台中收到错误消息?另外,我是不是对同伴依赖有什么误解?
至于 react@^16
的对等依赖性,我 运行 运气不好,然后在安装软件包时使用 --force
选项。然而 a commit 在 react-helmet-async
的新版本中解决了这个问题。
对于使用 create-react-app 引导的 React 17 项目,我想使用 react-helmet-async
包。
该项目具有以下对等依赖项,位于 package.json
文件中:
"peerDependencies": {
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
尝试安装软件包时,出现以下错误:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: project@1.0.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.6.0" from react-helmet-async@1.0.7
npm ERR! node_modules/react-helmet-async
npm ERR! react-helmet-async@"^1.0.7" 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/bas/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/bas/.npm/_logs/2021-02-11T13_55_56_813Z-debug.log
据我了解,react-helmet-async
包需要 React ^16.6.0 才能使用此包的项目。我可以使用 --force
选项来消除错误,但是当我尝试执行 npm update
时,它会反复出现。
我尝试在 package.json
中添加解决方案,试图强制包使用我正在使用的 React 版本。在运行一个npm install
或npm update
之前,我运行npx npm-force-resolutions
.
"resolutions": {
"react-helmet-async/react": "^17.0.1"
}
不幸的是,这没有用。有什么方法可以在不降级到 React 16 的情况下继续使用这个包而不会在我的控制台中收到错误消息?另外,我是不是对同伴依赖有什么误解?
至于 react@^16
的对等依赖性,我 运行 运气不好,然后在安装软件包时使用 --force
选项。然而 a commit 在 react-helmet-async
的新版本中解决了这个问题。