Homebrew pyenv安装错误 dyld: 库未加载: /usr/local/opt/readline/lib/libreadline.7.dylib

6
在MacOS Mojave上从Homebrew安装pyenv后,尝试安装任何Python版本时都会出现构建错误。
对于任何版本运行pyenv install时,构建将失败并显示以下错误:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/awk
  Reason: image not found
2个回答

7
ln -sf /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib

使用 force 标志 -f 时要小心,因为它可能会覆盖正在工作的安装。如果在使用 -s 时出现错误,请在覆盖它之前使用 ls -l 检查链接指向何处。 - Goran

5
我的解决方法是强制链接我在 /usr/local/opt/readline/lib/ 下的 readline 8 库。
> cd /usr/local/opt/readline/lib/
> ls
libhistory.8.0.dylib  libhistory.a          libreadline.8.dylib   libreadline.dylib
libhistory.8.dylib    libhistory.dylib      libreadline.8.0.dylib libreadline.a         pkgconfig

由于我有一个更新版本的readline库,我试图通过将它的符号链接到它正在寻找的文件名来强制它找到我所拥有的那个版本。例如:

> cd /usr/local/opt/readline/lib/
> ln -s libreadline.8.0.dylib libreadline.7.dylib
> ls
libhistory.8.0.dylib  libhistory.a          libreadline.7.dylib   libreadline.8.dylib   libreadline.dylib
libhistory.8.dylib    libhistory.dylib      libreadline.8.0.dylib libreadline.a         pkgconfig

pyenv install x.y.z 现在应该可以正常工作了(或者至少会抛出不同的错误 ;) )。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接