React项目使用patch-package修改依赖package.json未捕获变更问题咨询
使用patch-package给依赖package.json打补丁的解决方法
问题原因
patch-package默认的文件匹配规则会自动排除依赖的package.json文件,因此普通执行命令无法捕获对该文件的修改。
操作步骤
- 前置检查:确认patch-package版本≥6.2.0,低于该版本的用户先执行升级命令:
npm i patch-package@latest --save-dev - 进入
node_modules/[dependency_name]目录,修改package.json中的module和jsnext:main属性为目标值,保存改动。 - 执行带匹配参数的patch命令,强制包含package.json文件:
npx patch-package [dependency_name] --include 'package.json'Windows环境执行报错可替换为双引号:
npx patch-package [dependency_name] --include "package.json" - 检查项目根目录下
patches文件夹中生成的[dependency_name]+[版本号].patch文件,确认文件内包含你对package.json的修改内容。 - 验证补丁有效性:删除对应依赖后重新执行包安装命令(
npm install/yarn install/pnpm install),查看对应依赖的package.json是否已自动应用修改。
永久配置方案
如果后续需要频繁给不同依赖的package.json打补丁,可在项目根目录的package.json中添加全局配置,后续执行命令无需再加--include参数:
{ "name": "your-project", "其它配置项": "...", "patch-package": { "include": ["package.json"] } }
内容的提问来源于stack exchange,提问作者kunji mamu
相关产品推荐
相关产品推荐

