解析npm包覆面处理对等无效依赖项

解析npm包覆面处理对等无效依赖项,npm,shrinkwrap,Npm,Shrinkwrap,我继承了一个使用包覆面提取的react/node/prismic应用程序,我们需要更新prismic reactjs包。该包需要更高版本的react和webpack,因此我也更新了package.json中的版本,并根据一些npm依赖项阅读,大致遵循以下步骤: rm -fr node_modules npm uninstall [package_name] npm prune npm cache clean npm install [package_name] npm shrinkwrap (t

我继承了一个使用包覆面提取的react/node/prismic应用程序,我们需要更新prismic reactjs包。该包需要更高版本的react和webpack,因此我也更新了package.json中的版本,并根据一些npm依赖项阅读,大致遵循以下步骤:

rm -fr node_modules
npm uninstall [package_name]
npm prune
npm cache clean
npm install [package_name]
npm shrinkwrap (to check missing dependencies)
npm install
npm shrinkwrap
最后一个包覆面处理步骤显示了剩余的“npm ERR!peer invalid:”语句,因此我一直在以自己的方式从上到下工作,现在只剩下三个语句:

npm ERR! peer invalid: webpack@^3.1.0, required by extract-text-webpack-plugin@3.0.2
npm ERR! peer invalid: react@^15.6.1, required by react-dom@15.6.1
npm ERR! peer invalid: react@^15, required by react-router-dom@4.1.2
哦,看起来这些对等依赖关系需要我在webpack(我更新了3.12.0->4.0.0)和react(我更新了15.6.1->16.0.0)中使用的旧版本


在其他3个软件包中,有一个已弃用,因此如果我尝试,就无法升级。我可以尝试更新其他2个,但我不确定这是否是牦牛剃须-有更好的方法吗?是否可能同时使用两个/冲突的软件包

我昨天不得不处理类似的情况。我最终做的是升级所有依赖项,使其与我拥有的webpack和react版本兼容,并手动升级所有与这些版本不兼容的包。这也意味着我也必须在应用程序中做一些语法更改,但我认为最好的方法就是更新。是的,我认为你是对的-我已经更新了另外两个软件包,现在将推荐的软件包换成了不推荐的软件包,至少shrinkwrap再次感到高兴-感觉很好!现在我需要在新包中调用正确的方法,以便代码将再次运行。。。