如何升级第三方 NPM 包中的引用的 NPM 包
现在遇到一个问题,项目中依赖一个第三方 NPM 包 A,而第三方 NPM 包 A 又依赖 B。 现在遇到一个场景,A 包有一个版本是由于依赖 B 引起,需要升级 B 包。但是 A 包由第三方维护,无法直接升级。而 Node 模块如大家所知,我在项目中,声明一个新版的 B 包,对 A 包来说是无法生效的。 求助这个情况如何升级呢?
4 回复
- 找到github提issue
- 使用
pnpm patch
或者yarn patch
或者 https://www.npmjs.com/package/patch-package - 自己动手,然后提交到npm
推荐第一种方法
@chenkai0520 感谢回复,已经在按方法 1 在走了。抱着一点希望,想知道有没有其它巧妙的办法
这个刚遇到过, 使用 npm 的 overrides 属性 比如你想 A包里面的 B是 c.d.e 版本 那就
{
"overrides": {
"A": {
"B": "c.d.e"
}
}
}
具体可以看 https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
当然这个是必须用 npm 安装依赖才有的功能
overrides可惜依赖npm8+啊。