brew选择软件版本以及一个报错问题的修复

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib 解决方案

本地的php环境莫名的崩溃了,还给我报了一个这个错误:

->  ~ php -a
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
[1]    4873 abort      php -a
->  ~ php --help
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
[1]    4898 abort      php --help

后来百度,谷歌说什么运行brew upgradebrew upgrade bash,都没用,然后到/usr/local/opt/readline/lib/下面一看,自动升级成libreadline.8.dylib版本的了,然后我做了一个软链接,

ln -s libhistory.8.0.dylib libreadline.7.dylib

以为他们会往下兼容,结果没用,还是报错,没办法就只能回退版本,这里在github上一个小角落里找到一个命令,真的感觉幸运啊

brew switch readline 7.0.3_1

这里的readline就是libreadline.7.dylib所属的软件,而brew switch则是回退版本,这样把版本会退之后,上面的错误提示就消失了,PHP的环境又正常能跑了。

要是提示你的brew没有7.0.3_1版本,那你就按照它提示的版本装就行,提示信息类似如下所示:

Error: readline does not have a version "7.0.0" in the Cellar.
Versions available: 7.0.3_1, 8.0.0

你可能感兴趣的:(php,linux)