首页 > 解决方案 > 如何根据本地 Node.js 版本动态安装特定版本的 NPM 包?

问题描述

我为此做了谷歌,但没有运气。

基本上,如果本地 Node.js 版本是 X,我需要安装特定版本的 NPM 包 (A),如果不是,则安装该 NPM 包的版本 B。这需要成为构建过程的一部分,因此它是动态的。

如果有办法在 package.json 中进行此配置,那么对我来说这将是一个简单的解决方案。

我如何实现这一目标?

标签: node.js

解决方案


您可以通过使用Yarn作为依赖管理工具并结合Selective Versions Resolutions功能来实现这一点。

更具体地说,在您的情况下,您将按照“映射版本规范”格式中的描述使用它,基于您的 package.json,您将包含类似以下内容,假设版本 X=1.0.3 和版本 B=2.0。在以下示例中为 0:

"devDependencies": {
  "a": "1.0.3"
},
"resolutions": {
  "a@==1.0.3": "a@2.0.0"
}

推荐阅读