共80行

brew install ffmpeg 报错:Error: A brew install ffmpeg process has already locked

2026-02-13 23:32:07

你现在遇到的问题依然是 Homebrew 的文件锁定冲突,只是锁定的文件路径发生了变化,说明之前的清理还不够彻底,需要用更全面的方式来解决这个锁定问题。

彻底解决文件锁定问题的方法

这次我们会用更系统的方式清理所有 brew 相关的锁定和残留,步骤如下:

1. 强制终止所有 brew 相关进程(更彻底)

# 查找所有和 brew 相关的进程(包括安装、更新、清理等)
pgrep -f brew

# 强制终止所有 brew 进程(无需手动替换 PID)
pkill -9 -f brew

# 验证是否还有残留进程(执行后无输出则表示已清理干净)
ps aux | grep -i brew | grep -v grep

2. 清理所有 Homebrew 锁定文件和缓存(全局清理)

# 切换到 Homebrew 缓存目录
cd /Users/yangceo/Library/Caches/Homebrew/

# 删除所有 .incomplete 后缀的不完整下载文件(包括新出现的锁定文件)
rm -rf downloads/*.incomplete

# 删除 Homebrew 所有锁定文件(涵盖不同位置的锁)
rm -f *.lock
rm -f downloads/*.lock
rm -f /tmp/homebrew-*lock*
rm -f /private/tmp/homebrew-*lock*

# 清理 brew 缓存并重置状态
brew cleanup --prune=all
brew doctor  # 检查 brew 状态并修复基础问题
brew update-reset  # 重置 brew 仓库到初始状态

3. 重新安装 ffmpeg(建议加参数避免并行下载)

# 重新安装 ffmpeg,禁用并行下载减少锁定冲突
HOMEBREW_NO_PARALLEL_DOWNLOADS=1 brew install ffmpeg

4. 如果仍报错,尝试手动解锁 brew

# 手动释放 brew 的公式锁
brew unlock ffmpeg
brew unlock libnghttp3  # 之前报错提到的依赖库

# 再次尝试安装
brew install ffmpeg

特殊情况处理:如果以上方法仍无效

如果锁定问题始终无法解决,可能是 brew 本身的状态损坏,可尝试修复 brew 核心组件:

# 卸载并重新安装 brew(保留已安装包,仅修复核心)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 重新安装 ffmpeg
brew install ffmpeg

若还是不可以,那么可以直接下载二进制文件

1. 在这个地址:https://evermeet.cx/pub/ffmpeg/ 下载与系统版本相符合的包, 比如:ffmpeg-7.0.1.7z
2. 7z x ffmpeg-7.0.1.7z
3. chmod +x  ffmpeg
4. mv ffmpeg  /usr/local/bin/
5. ffmpeg -version