升级到 Mountain Lion 后,我遇到了类似的问题。
不要按照 Slack 的建议复制 libssl.* 文件,而是确保它/usr/lib/libssl.dylib
实际上是指向最新版本库的软链接。
例如,在我的机器上,ls -l /usr/lib/libssl*
给出:
lrwxr-xr-x 1 root wheel 46B Jun 27 15:24 /usr/lib/libssl.1.0.0.dylib -> /Library/PostgreSQL/9.1/lib/libssl.1.0.0.dylib
lrwxr-xr-x 1 root wheel 27B Jul 30 10:31 /usr/lib/libssl.dylib -> /usr/lib/libssl.1.0.0.dylib
如果libssl.dylib
没有链接到错误版本提到的版本,请确保您拥有该版本的库,然后确保/usr/lib/libssl.dylib
指向它,而不是旧版本。
如果链接不存在,请像这样创建它
sudo ln -s library_to_link_to link_to_create
当然,为您的机器使用适当的位置。对我来说,结果是:
sudo ln -s /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
编辑:
似乎有些人对我的部分解决方案有问题。也就是说,删除这些重要的库甚至会暂时导致操作系统出现问题。
根据Purrell 的回答,确保-fs
在使用ln
命令时包含标志,这有助于确保库不会在短时间内丢失。例如,
sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib