强制 npm 对所有模块使用我的 fork

Force npm to use my fork for all modules

我在 Github (parse5) 上创建了一个项目。我对 parse5 所做的编辑是为了修复 @angular/platform-serverparse5 之间的不兼容性,并且通过我的修复它可以正常工作。

我已经将我的分支添加到 package.json 中的 dependencies ("parse5": "https://github.com/ghego1/parse5.git") 并且它已按预期安装。

但是,在安装我的 fork 时,npm 和 yarn 还会从 platform-server/node-modules 下的 parse5 存储库安装一个新模块。不幸的是 platform-server 然后使用该版本,从而导致应用程序崩溃。

有没有办法 "force" npm 和 yarn 在所有模块和子模块中始终使用我的特定分支?

编辑

通过手动删除 platform-server/node-modules 下的 parse5 存储库, @angular/platform-server 使用我安装在根文件夹 node-modules 中的 fork,它不会使应用程序崩溃。

解决从问题的编辑中手动删除 platform-server/node-modules 下的存储库的想法:

package.json 中,在 package.json > scripts 部分添加一个 postinstall 步骤,以自动删除不需要的已安装软件包版本,例如"postinstall": "rm -rf ./node_modules/platform-server/node-modules/parse5"