We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
node_modules
为什么要修改 node_modules 中的依赖?
bug
npm
打补丁是一种在不修改原始文件的情况下对文件进行增量修改的技术,它可以用来修复 bug、添加功能、或者改变行为。
打补丁的原理是使用 diff 工具来比较两个文件(或目录)之间的差异,并生成一个补丁文件(patch file),这个补丁文件记录了如何从一个文件(或目录)变成另一个文件(或目录)所需要做的修改,然后使用 patch 工具来将补丁文件应用到原始文件(或目录)上,从而实现修改。
diff
patch
打补丁有以下优点:
不同的包管理器,打补丁的方法也不同,但其原理都是一样的
patches
npm install
pnpm
yarn v2+
pnpm 和 yarn v2+ 都提供了 patch 命令,可以直接使用
以 pnpm 为例
添加补丁,该命令会将指定的软件包提取到一个可以随意编辑的临时目录中供我们修改
pnpm patch <pkg name>@<version> # 🌰 pnpm patch @astrojs/[email protected]
生成补丁文件到项目中(默认保存在项目根目录下的 patches 目录中)
# <path> 是之前提取的临时目录 pnpm patch-commit <path>
yarn v1
使用 npm 或 yarn v1 管理依赖时,需要借助第三方工具 patch-package 来实现对 node_modules 中的依赖打补丁
patch-package
以 npm 为例
# 1. 安装 patch-package npm i -D patch-package # 2. 添加 postinstall 脚本,以便在每次 npm install 后自动应用补丁 npm pkg set scripts.postinstall="patch-package" # 3. 修改 node_modules 指定依赖包 # 4. 生成补丁 <pkg name> 是上一步修改的依赖包名称 npx patch-package <pkg name>
The text was updated successfully, but these errors were encountered:
No branches or pull requests
修改
node_modules
中的依赖(打补丁)bug
,但作者没有及时修复常见做法
npm
包node_modules
中的依赖npm
包的修改不需要发布的情况node_modules
中的依赖打补丁npm
包的修改不需要发布的情况什么是打补丁?
打补丁是一种在不修改原始文件的情况下对文件进行增量修改的技术,它可以用来修复
bug
、添加功能、或者改变行为。打补丁的原理是使用
diff
工具来比较两个文件(或目录)之间的差异,并生成一个补丁文件(patch file),这个补丁文件记录了如何从一个文件(或目录)变成另一个文件(或目录)所需要做的修改,然后使用patch
工具来将补丁文件应用到原始文件(或目录)上,从而实现修改。打补丁有以下优点:
如何打补丁
不同的包管理器,打补丁的方法也不同,但其原理都是一样的
patches
文件夹,里面存放着所有的补丁文件(其补丁内容为diff
格式)npm install
后自动应用补丁使用
pnpm
或yarn v2+
pnpm
和yarn v2+
都提供了patch
命令,可以直接使用以
pnpm
为例添加补丁,该命令会将指定的软件包提取到一个可以随意编辑的临时目录中供我们修改
生成补丁文件到项目中(默认保存在项目根目录下的
patches
目录中)使用
npm
或yarn v1
时使用
npm
或yarn v1
管理依赖时,需要借助第三方工具patch-package
来实现对node_modules
中的依赖打补丁以
npm
为例参考
The text was updated successfully, but these errors were encountered: