如何修补npm库的依赖项

How to patch a dependency of a npm library?

本文关键字:依赖 npm 何修补 修补      更新时间:2023-09-26

我在使用npm安装的库的深度依赖中遇到了一个错误。我修复了fork中的错误,并在github上创建了一个pull请求。

我想知道如何与同事分享我的解决方案。我找到了这篇文章,但由于它不是我的依赖项,而是我使用的库的依赖项。我不知道如何解决这个问题。

即使我的pull请求很快被接受,我也需要等待库的维护人员更新他的依赖项,这可能永远不会发生。

有什么常见的方法来解决这样的事情吗?

通过使用补丁包,您可以修补依赖项的依赖项,如:

npx patch-package package/another-package

或范围内包

npx patch-package @my/package/@my/other-package

请检查包装文档

此库似乎针对此问题:https://www.npmjs.com/package/patch-package

如果原始库的许可证允许您根据自己的意愿获取和修改它,您可以克隆它并提交自己的NPM模块(一个相对简单的过程)和正确固定的子模块。或者只需将其检查到您公司的存储库中,不要将其作为dep包含在您的package.json中(以防止npm安装覆盖它)。

或者您可以创建一个补丁并在"postinstall"阶段应用它。