我覆盖了 /usr/local/bin/ 中的一些 dylib 文件,现在我在运行程序时遇到了问题。有没有办法恢复这些文件?
ffmpeg 程序对我来说运行良好。然后我安装了程序 GPAC 并执行了以下操作:
$ sudo cp MP4Box /usr/local/bin/
$ sudo cp -R /Applications/GPAC.app/Contents/MacOS/lib/* /usr/local/lib/
我这样做是因为它允许我从命令行运行 MP4Box,因为 /usr/local/lib/ 在 $PATH 中。
但是现在当我尝试跑步时
$ ffmpeg
我收到此错误:
dyld:库未加载:/usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib 引用自:/usr/local/bin/ffmpeg 原因:库版本不兼容:ffmpeg 需要10.0.0 或更高版本,但 libSDL2-2.0.0.dylib 提供版本 5.0.0 中止陷阱:6
我认为发生的事情是:我将一些我不应该做的文件覆盖到 /usr/local/lib/ 中。在这种情况下,我使用 GPAC 应用程序包中的 5.0.0 版本覆盖了 10.0.0 版本的 libSDL2-2.0.0.dylib。
我曾尝试使用自制软件卸载并重新安装 ffmpeg,希望它会看到它需要更新我的 dylib 库。
$ brew uninstall ffmpeg
$ brew install ffmpeg
$ ffmpeg
但这会导致相同的错误。
这是我从 /Applications/GPAC.app/Contents/MacOS/lib/* 复制到 /usr/local/lib/ 的所有文件的列表
libSDL2-2.0.0.dylib libfreetype.6.dylib libplds4.dylib liba52.0.dylib libgpac.dylib libpng16.16.dylib libavcodec.58.dylib libjpeg.9.dylib libpostproc.55.dylib libavdevice.58.dylib liblzma。 5.dylib libssl.1.0.0.dylib libavfilter.7.dylib libmad.0.dylib libswresample.3.dylib libavformat.58.dylib libmozjs185.1.0.dylib libswscale.5.dylib libavresample.4.dylib libmp3lame.0.dylib libtheora.0.dylib libavutil.56.dylib libnspr4.dylib libvorbis.0.dylib libcrypto.1.0.0.dylib libogg.0.dylib libx264.152.dylib libfaad.2.dylib libplc4.dylib