如何找到具有特定依赖关系的 NPM 模块版本 - 例如,哪个版本的 webpack-cli 与 webpack@4.46.0 一起使用?
Posted
技术标签:
【中文标题】如何找到具有特定依赖关系的 NPM 模块版本 - 例如,哪个版本的 webpack-cli 与 webpack@4.46.0 一起使用?【英文标题】:How can I find versions of NPM modules with specific dependencies - for example, which version of webpack-cli to use with webpack@4.46.0? 【发布时间】:2021-10-18 22:09:29 【问题描述】:有人要求我升级项目以使用 webpack 版本 4,我需要将各种加载器等升级到兼容版本。
到目前为止,它既费力又缓慢,我不知道我是否越来越接近解决方案。
正如我在问题中提到的,我将 webpack 升级到了 4.46.0 版本,但现在当然需要升级 webpack-cli(以及许多其他库)。我想找到兼容webpack@4.46.0的最高版本的webpack-cli。经过反复试验,我发现 webpack-cli@3.3.12 似乎是正确的版本(而不是 webpack-cli@4.x)。
当然,有些模块依赖于其他模块(等等),这使得找出正确的版本特别困难。
是否有任何自动化工具可以帮助完成此过程?
【问题讨论】:
【参考方案1】:不幸的是,没有灵丹妙药!没有直接的自动化方法可以做到这一点。一般来说,你必须浏览每个 Webpack 加载器和插件的文档并找到合适的版本。
有一些指南可以帮助您:
-
加载器 - 最新版本的 Webpack 加载器应该适用于从版本 2 开始的任何版本的 Webpack。
插件 - Webpack 插件通常会导致跨版本的重大更改。这就是您必须进行广泛测试的地方。
CLI - Webpack CLI 和 Webpack 相互独立。理论上,没有太大的突破性变化。 Webpack CLI 实际上是 Webpack 的一个小包装器,因此,您可以从最顶层的版本开始,然后再往回走。
某些加载程序依赖于具有严格要求集的其他模块。例如。 Babel loader 严格依赖 Babel(babel-loader 8 需要 babel 7.x),sass-loader 也是如此。您必须严格遵守这些依赖关系。
【讨论】:
以上是关于如何找到具有特定依赖关系的 NPM 模块版本 - 例如,哪个版本的 webpack-cli 与 webpack@4.46.0 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章
对于内部依赖特定版本的不同包,如何管理项目中多个版本的 npm 模块?