我继承了一个使用收缩包装的 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
最后一个 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)并做出反应(我更新了 15.6.1 -> 16.0.0)。
在这 3 个其他软件包中,一个已被弃用,所以如果我尝试过,我无法升级它。我可以尝试更新其他 2 个,但我不确定这是否是牦牛剃须 - 有更好的方法吗?是否可以同时使用两个/冲突的软件包?