如何分步应用Git补丁修复youtube-dl已知Bug?
正确应用youtube-dl补丁的方法
你之前的操作犯了两个低级错误:
git diff > https://xxx试图把diff结果输出到一个URL路径里,系统只会识别本地文件路径,自然找不到目标。curl拉取的是GitHub的commit网页,不是纯文本格式的补丁文件,git apply没法解析网页代码,所以报错“unrecognized input”。
下面是两种可行的解决方法:
方法一:直接用打好补丁的预编译版本(最省心)
ytdl-patched已经提供了现成的可执行文件,直接下载替换就行:
- 下载对应系统的二进制文件(以Linux为例):
curl -L -o youtube-dl https://github.com/ytdl-patched/yt-dlp/releases/download/2023.02.17.334/youtube-dl
- 给文件加执行权限:
chmod +x youtube-dl
- 替换掉系统里原来的youtube-dl,或者直接用当前目录的这个文件运行下载命令。
方法二:给原版youtube-dl手动打补丁
如果非要自己给原版打补丁,得拉取正确的纯文本补丁文件:
- 确保你在youtube-dl的本地git仓库目录下,执行以下命令(直接拉取commit对应的diff补丁并应用):
curl -L https://github.com/critrolesync/critrolesync.github.io/commit/b34accf6638e2dae957b14fb14c4895a92eb2324.diff | git apply
- 如果命令执行失败,可以先把补丁下载到本地再应用:
curl -L -o fix.patch https://github.com/critrolesync/critrolesync.github.io/commit/b34accf6638e2dae957b14fb14c4895a92eb2324.diff git apply fix.patch
内容的提问来源于stack exchange,提问作者gatorreina
相关产品推荐
相关产品推荐

