patch-package
patch-package copied to clipboard
Patch react-native 0.59.9 failed
Looks like it's due to many new files generated under new directory "third-party" after I build my project.
I can fix it by excluding that directory:
yarn patch-package react-native --exclude third-party
Below is the error log if not exclude: `yarn patch-package react-native yarn run v1.16.0 $ /Users/samuel.cai/Documents/app/node_modules/.bin/patch-package react-native patch-package 6.2.0 • Creating temporary folder • Installing [email protected] with yarn • Diffing your files with clean files
{
error: Error: spawnSync git ENOBUFS
at Object.spawnSync (internal/child_process.js:1041:20)
at Object.spawnSync (child_process.js:602:24)
at Function.spawnSync [as sync] (/Users/samuel.cai/Documents/app/node_modules/patch-package/node_modules/cross-spawn/index.js:26:23)
at Object.exports.spawnSafeSync (/Users/samuel.cai/Documents/app/node_modules/patch-package/dist/spawnSafe.js:10:32)
at git (/Users/samuel.cai/Documents/app/node_modules/patch-package/dist/makePatch.js:104:32)
at Object.makePatch (/Users/samuel.cai/Documents/app/node_modules/patch-package/dist/makePatch.js:135:26)
at /Users/samuel.cai/Documents/app/node_modules/patch-package/dist/index.js:48:25
at Array.forEach (
/Users/samuel.cai/Documents/app/node_modules/patch-package/dist/makePatch.js:181
throw e;
^
{
error: Error: spawnSync git ENOBUFS
at Object.spawnSync (internal/child_process.js:1041:20)
at Object.spawnSync (child_process.js:602:24)
at Function.spawnSync [as sync] (/Users/samuel.cai/Documents/app/node_modules/patch-package/node_modules/cross-spawn/index.js:26:23)
at Object.exports.spawnSafeSync (/Users/samuel.cai/Documents/app/node_modules/patch-package/dist/spawnSafe.js:10:32)
at git (/Users/samuel.cai/Documents/app/node_modules/patch-package/dist/makePatch.js:104:32)
at Object.makePatch (/Users/samuel.cai/Documents/app/node_modules/patch-package/dist/makePatch.js:135:26)
at /Users/samuel.cai/Documents/app/node_modules/patch-package/dist/index.js:48:25
at Array.forEach (
Same issue here, even with the --include
flag to only include the file I need. As it is patch-package is unusable to patch React Native because of this bug.
Same issue here, even with the
--include
flag to only include the file I need. As it is patch-package is unusable to patch React Native because of this bug.
-- include
works for me, but I don't want to use it because I need to patch two directories:
- I don't know how to use
-- include
for two directories. - Even if I know,
-- include
doesn't support incremental change, for example, today I run-- include
for one directory, tomorrow I run-- include
for another directory, the generated path file only includes path for another directory. So I need to remember all directories I included before, and remember to include them once I need to path one more directory.
Just to add that --include
works for me too (which I understand is no consolation if you're patching multiple directories). In case it helps, here's how I invoked patch-package
to patch react-native/React/Base/RCTModuleMethod.mm
:
node_modules/.bin/patch-package react-native --include React\\/Base\\/RCTModuleMethod\\.mm
Just to add that
--include
works for me too
Somehow it doesn't work for me and I get the same error as above.
Eventually I just did diff -u oldFile.java newFile.java > newFile.patch
and renamed it to whatever name patch-package expects.
It feels like there should be some optimisation when --include
is specified, while now it's processing everything anyway and just filters the relevant files.
Eventually I just did
diff -u oldFile.java newFile.java > newFile.patch
and renamed it to whatever name patch-package expects.
Thanks for that shell snippet; I'll use that next time rather than having patch-package
redownload the React Native package in its entirety.
Same issue here (RN 0.57.8)
Seems to be duplicate of #166
edit: Solution I'm using: https://github.com/ds300/patch-package/issues/166#issuecomment-611002963
edit2: #166 is fixed in v6.4.5 https://github.com/ds300/patch-package/issues/166#issuecomment-790453513 @caisd1998 Does this resolve your issue?
I ran into this issue too using the npx
version of patch-package. The fix was to install it globally so I was using the latest version. Thanks!
Same issue here, even with the
--include
flag to only include the file I need. As it is patch-package is unusable to patch React Native because of this bug.
-- include
works for me, but I don't want to use it because I need to patch two directories:
- I don't know how to use
-- include
for two directories.- Even if I know,
-- include
doesn't support incremental change, for example, today I run-- include
for one directory, tomorrow I run-- include
for another directory, the generated path file only includes path for another directory. So I need to remember all directories I included before, and remember to include them once I need to path one more directory.
@caisd1998 try this command! I tries many times, and finally figure out the correct regex form
yarn patch-package react-native --include Libraries/fishhook/.*\|React/CxxBridge/.*