下调NPM包版本时,如何处理包之间的依赖关系?

我目前用的是Webpack是4.x,我想回退到3.x,于是我把package.json中的^4.41.4改成了^3.0.0

我担心其它包有平行依赖(我术语可能用的不对),比如说webpack-cli、webpack-dev-server、css-loader这些包要改成什么版本啊?

我知道NPM版本兼容性问题挺坑的,现在我调低了一个包的版本,那其它包要如何对应下调呢?

阅读 2.9k
1 个回答

当遇到版本依赖问题时,只能人工处理,包版本太新就降级使用,只要找到合适的版本就可以了。可以利用npm view <pkgname> peerDependencies快速查看peer dependencies,也可以加上版本号使用npm view <pkgname>@version,如果不知道一共有哪些历史版本可以敲npm view <pkgname> versions。npm view的用法见官网文档

人工寻找版本是不可避免的,为了提升效率可以:

  • 结合二分法快速缩小范围
  • 然后嫌国内网速慢可以用cnpm替代npm
  • 版本号可以指定一个范围,例如:npm view bootstrap@^4.0.0

本答案内容摘抄自这里

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题