Shrinkwrap阻止我更新反应和反应吗?

时间:2018-02-06 11:41:10

标签: reactjs npm react-dom

我正在尝试更新从15.4.2到16.2.0的反应。我关注的主要依赖项是React和React-Dom。我正在尝试运行:npm uninstall --save react react-dom然后npm install --save react react-dom但是我不断收到消息:UNMET PEER DEPENDENCY react@16.2.0 react-dom@16.2.0所以这让我认为它是一种收缩或束缚的依赖,但可以'似乎找到了它。我试图甚至从package.json中的依赖项中删除react和react-dom。仍然无济于事。

2 个答案:

答案 0 :(得分:1)

问题:

我的根本问题是我运行材料ui组件并点击反应,更具体地说是Tabs及其触摸/点击功能。真正的问题是我相信我的应用程序/组件所在的根文件夹中有其他node_modules,package.jsons,因此导致冲突的文件和文件夹不止一个node_modulepackage.json

要解决:

  1. 从无法更新的应用中制作业务逻辑的副本
  2. 然后导航到/创建新目录和 那里有脚手架的新反应项目(react-app或者我的情况下是Yo @ microsoft / sharepoint)
  3. 在未更新的应用程序中检查node_modules文件夹和package.json中的react,reactdom版本以查看它们是否为最新版本...它们不是这样的我做了以下更新:

    3.2。 npm install --save react react-dom(您可能必须先运行npm uninstall react react-dom

    3.3。 npm install material-ui@latest

    3.4 npm i --save react-tap-event-plugin@3.0.2

  4. 检查版本是否已在步骤3中的上述文件夹中更新......现在已有。

  5. 尝试再次导入并创建tap反应应用组件,例如标签现在应该可以使用
  6. 结论: 不是Shrinkwrap本身导致了问题,而是重复了node_module文件和/或package.json文件。有关详细信息,请参阅Material-UI Tabs have stopped working

    另外请记住,Create React应用程序不适用于某些版本的React和React Dom。所以要小心这一点。

答案 1 :(得分:0)

你可以尝试一些事情:

  • 检查react文件夹中react-domnode_modules/的版本
  • 删除node_modules/并重新安装以删除任何停靠依赖项