强制npm将fork用于所有模块

时间:2017-10-03 11:53:44

标签: npm package.json yarnpkg

我在Github上分配了一个项目(parse5)。我对parse5所做的修改是为了修复@angular/platform-serverparse5之间的不兼容问题,而我的修正则可以正常使用。

我已将我的分叉添加到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,这不会导致应用程序崩溃。

1 个答案:

答案 0 :(得分:0)

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

package.json的{​​{1}}部分中添加一个postinstall步骤,以自动删除不需要的已安装软件包版本,例如package.json > scripts