我在parse5上做了一个项目。我对parse5所做的编辑是为了修复@angular/platform-server和parse5之间的不兼容性,通过我的修复可以很好地工作。
我已经将叉子添加到dependencies ("parse5": "https://github.com/ghego1/parse5.git")中的package.json中,它是按预期安装的。
但是,在安装我的叉子时,npm和yarn也从parse5存储库platform-server/node-modules下安装了一个新模块。不幸的是,platform-server随后使用了该版本,从而破坏了应用程序。
有没有办法“强迫”npm和纱线在所有模块和子模块中始终使用我的专用叉子?
编辑
通过手动移除platform-server/node-modules下的platform-server/node-modules存储库,@angular/platform-server使用安装在根文件夹node-modules中的my叉,这不会使应用程序崩溃。
发布于 2019-04-10 03:26:29
从问题中的编辑中手动删除platform-server/node-modules下的存储库的想法如下:
在package.json中,在package.json > scripts部分中添加一个postinstall步骤,以自动删除已安装的包的不需要的版本,例如"postinstall": "rm -rf ./node_modules/platform-server/node-modules/parse5"
https://stackoverflow.com/questions/46543988
复制相似问题