微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让 React styleguidist 正确安装并通过 react-simple-code-editor: React 16 & 17 解决对等依赖问题?

如何解决如何让 React styleguidist 正确安装并通过 react-simple-code-editor: React 16 & 17 解决对等依赖问题?

我正在通过阅读 Fullstack React book 来学习 React。


我的设置:

node -v
v14.15.3
npm -v
7.3.0

按照styleguidist install guide我跑:

npm -i -D webpack react-styleguidist

已安装:

  • webpack v5.11.0
  • react-styleguidist 11.1.5

之间似乎存在某种冲突:

这似乎归结为 React 16 基线上的 react-simple-code-editor 中的对等依赖性,而 react-styleguidist 使用 React 17。

package.json 用于react-simple-code-editor

....
"peerDependencies": {
  "react": "^16.0.0","react-dom": "^16.0.0"
}

我提出了问题 here,但没有得到回复

所以我想知道这里是否有人对 React 16 到 17 的增强有更深入的了解,可以回答 react-simple-code-editor 中的 react/react-dom 是否可以放宽到使用 16+ ?如果是这样,语法是什么?

有关对等依赖关系的更多信息 here

解决方法

React Styleguidist 有一个 peer dependency of "react": ">=16.8"。我假设在安装 react-styleguidist 之前,您运行了 npm install --save-dev react,这将安装 react@17.x。

你有两个选择:

  1. 降级到 React@16.x

    查看 changelogsummary blog post 中的更新。如果您没有看到任何必须的更改并且更担心冲突,请降级以解决对等依赖问题。

  2. 无论如何安装对等依赖

    npm 7.x 对对等依赖问题有更严格的错误处理,我能够在 React@17 应用程序中的 npm 6.x 上安装这些包没有问题,但我的同事遇到了同样的问题,能够通过 npm install --force 绕过它。运行它,它应该可以正常工作。我还没有遇到任何问题,并且一直很高兴地忽略了我的 npm 版本上的警告。

,

该问题是由自动安装对等依赖项的 npm 7 的 exciting new feature 引起的。这导致同时安装了 React 16 和 React 17,这让一切都爆炸了。

幸运的是,您可以通过以下方式选择退出新功能:

npm install --legacy-peer-deps

它不那么令人兴奋,但从好的方面来说它有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。