使用pnpm的patch命令打补丁(正确修改源码,在外部修改node_modules代码 )(安全扫描项目是否存在外链)
在开发时,有时碰到依赖的类库有bug或者不满足要求时
- 让作者改,一般不太现实和及时
- 使用patch-package打补丁,安装依赖后自动打上修改的内容
在pnpm7.4(pnpm高效npm版本管理工具)版本以后pnpm添加了pnpm patch和pnpm pathc-commit,支持给依赖打补丁。
流程:通过pnpm patch xxx依赖@xxx版本
命令拷贝一份依赖库的文件项目,然后用户对该拷贝的项目进行修改,然后通过提供的命令pnpm patch-commit +xxx路径
对修改后的代码以及原来的代码进行diff,生成一个xxx.patch的文件,对应项目的package.json会有个pnpm.patchedDependencies字段来指向patch文件,之前其他人安装依赖后,会自动使用到该patch
比如要更改axios里面的代码
1.pnpm i axios
2.
// @后面是axios版本
pnpm patch axios@0.21.4
// 然后会生成一个地址
You can now edit the following folder xxxxxxxxxxx
3.打开这个地址进行更改
4.pnpm patch-commit + xxxxxxx生成的地址
最后package.json里就会有这个代码
文件夹下也会多打补丁的文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了