我在 Intel Macbook 上运行 MacOS Monterey。我的 sublime text 包控件最近停止工作,所以我做了一些搜索,有人通过使用以下命令链接到 OpenSSL 的旧版本来解决它:
ln -sf /usr/local/Cellar/[email protected]/1.1.1o/lib/libcrypto.dylib /usr/local/lib/
我运行了该命令,还有这个命令:
brew link [email protected]
MacOS 系统默认是较新的 OpenSSL 3。使用已弃用的版本可能会在将来引起问题,因此重新链接到旧版本是一个愚蠢的举动:/我通过安装最新版本的 Package Control 解决了我的 sublime text 问题。然而,现在我被这个版本的 OpenSSL 困住了。
如何链接回 OpenSSL 3,以便当我运行
openssl version
时,它会再次显示 openssl 3 而不是 OpenSSL 1.1.1t 7 Feb 2023
?
我不知道如何解决这个问题。
要在 macOS Monterey 上恢复到 OpenSSL 3,您需要撤消所做的更改并确保您的系统使用较新版本的 OpenSSL。以下是要遵循的步骤:
删除旧 OpenSSL 版本的符号链接: 您创建了一个指向 OpenSSL 1.1 库的符号链接。要删除它,请在终端中运行以下命令:
sudo rm /usr/local/lib/libcrypto.dylib
此命令将删除您创建的到旧版 OpenSSL 版本的符号链接。
重新链接到 OpenSSL 3: 如果 macOS Monterey 默认使用 OpenSSL 3,则在删除 OpenSSL 1.1 的符号链接后您可能不需要执行任何操作,因为系统应恢复为使用其默认版本。但是,如果它没有自动选择 OpenSSL 3,您可能需要使用 Homebrew 重新链接它(如果您已通过 Homebrew 安装了 OpenSSL 3)。
您可以使用以下命令:
brew link --overwrite openssl@3
注意: 如果您尚未通过 Homebrew 安装 OpenSSL 3,您可能首先需要使用
brew install openssl@3
安装它。
验证 OpenSSL 版本: 完成这些步骤后,您应该验证是否使用了正确的 OpenSSL 版本。您可以通过运行来做到这一点:
openssl version
此命令现在应显示 OpenSSL 3.x.x。
检查系统完整性: 由于您手动更改了系统库,因此最好确保一切正常运行。测试使用 OpenSSL 的其他应用程序以确保它们按预期工作。
考虑未来的更新: 请记住,手动修改系统库可能会导致意外问题,尤其是在系统更新期间。将来,除非绝对必要,否则请尝试使用不涉及更改系统范围设置或库的解决方案。
请记住,更改系统库可能存在风险,并且可能会影响系统稳定性和安全性。在进行此类更改之前,最好对系统进行当前备份。