强制 npm 对所有模块使用我的 fork
Force npm to use my fork for all modules
我在 Github (parse5) 上创建了一个项目。我对 parse5
所做的编辑是为了修复 @angular/platform-server
和 parse5
之间的不兼容性,并且通过我的修复它可以正常工作。
我已经将我的分支添加到 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"
我在 Github (parse5) 上创建了一个项目。我对 parse5
所做的编辑是为了修复 @angular/platform-server
和 parse5
之间的不兼容性,并且通过我的修复它可以正常工作。
我已经将我的分支添加到 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"