如何在项目中使用fork版本的npm包

iwa*_*wan 19 node.js npm

假设有一个名为npm的包abcd.通常在package.json,我们将依赖项指定为 "abcd": "^1.0.0",

但这abcd不能按预期工作,所以我在https://github.com/mygithubid/abcd中分叉(并修改)它

然后我跑npm install git+https://git@github.com/mygithubid/abcd.git进去package.json,定义改为 "abcd": "git+https://github.com/mygithubid/abcd.git",

重新启动使用abcd它的项目后,现在它抛出错误 Module not found: Can't resolve 'abcd' ...即使我看到abcd文件夹被添加到里面node_modules

你能告诉我上面的错误吗?谢谢!

Sim*_* B. 8

一种相当干净的选择是使用patch-packagehttps : //www.npmjs.com/package/patch-package

如果使用您的项目的人可能使用npm或yarn,请记住使补丁可同时用于这两个领域。下的更多信息patch-package --use-yarn

补丁还是叉子?参见https://www.npmjs.com/package/patch-package#benefits-of-patching-over-forking


小智 5

确保 github 存储库包含已编译的文件,大多数情况下您需要先为 npm 构建包,编译后的文件仅推送到 NPM。要了解如何构建包,请查看 package.json 文件