我在Github上分配了一个项目(parse5)。我对parse5
所做的修改是为了修复@angular/platform-server
和parse5
之间的不兼容问题,而我的修正则可以正常使用。
我已将我的分叉添加到dependencies
中的"parse5": "https://github.com/ghego1/parse5.git"
(package.json
),并按预期安装。
但是,在安装我的fork时,npm和yarn还会在parse5
下的platform-server/node-modules
存储库中安装一个新模块。不幸的是platform-server
然后使用该版本,从而导致应用程序崩溃。
有没有办法强迫"强迫" npm和yarn总是在所有模块和子模块中使用我的特定fork?
修改
通过手动删除parse5
下的platform-server/node-modules
存储库,
@angular/platform-server
使用安装在根文件夹node-modules
中的fork,这不会导致应用程序崩溃。
答案 0 :(得分:0)
解决从以下问题的EDIT中手动删除platform-server/node-modules
下的存储库的想法:
在package.json
的{{1}}部分中添加一个postinstall
步骤,以自动删除不需要的已安装软件包版本,例如package.json > scripts