怎么在pnpm中修改node_modules并生效
前言
我在使用一个开源库的时候发现了一个 bug,https://github.com/chenshuai2144/openapi2typescript/pull/111 ,随即我提交了 PR 修复了这个 BUG,但是官方人员还没有合并这个问题。我目前着急解决这个问题,大家都知道官方解决一个问题,需要:cr-合并-发版,如果该开源库 A 是我使用的另一个开源库 B 引用的,那个还需去另外一个开源库提交 BUG 督促他们更新和发版,这样的流程是非常麻烦的。所以产生了该文档。
解决思路
直接修改node_modules
怎么生效
如果使用的是 pnpm 包管理工具:
文档:https://pnpm.io/cli/patch 。
视频演示:https://www.youtube.com/watch?v=0GjLqRGRbcY 。
步骤
-
使用
pnpm patch <pkg>
其中是自己需要修改的包,需要明确指定版本号。 -
该命令会生成一个本地的地址,将该地址导入到 vscode。修改完成后执行
pnpm patch-commit <地址>
-
最后一定要使用 pnpm 执行命令,否则不生效
会生成一个临时的项目地址,在缓存文件中,打开它并修改,如图:
打开项目后修改文件:
使修改的文件生效:
执行完成后,会在 package.json 和根目录生成文件
直接将变更后的内容提交,其他同事也能生效,等官方更新包后,我们将此次更改删除即可(修改的包版本更新后可能会报错,所以需要固定包版本)
非 pnpm 包管理工具
其他包管理器使用开源库能解决:GitHub - ds300/patch-package: Fix broken node modules instantly 🏃🏽♀️💨
- 标题: 怎么在pnpm中修改node_modules并生效
- 作者: 兰涛
- 创建于 : 2023-07-10 16:20:40
- 更新于 : 2024-01-26 09:52:53
- 链接: https://lands.work/85c7a0dd/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论