MacOS Mojave下Homebrew安装ffsend/wget后遇_OPENSSL_init_ssl符号缺失求助
解决MacOS Mojave 10.14.6上ffsend/wget的OpenSSL符号缺失问题
我之前在Mojave上也碰到过一模一样的OpenSSL符号报错,这主要是因为系统自带的OpenSSL版本太旧,而Homebrew安装的ffsend和wget依赖的是更新的OpenSSL 1.1,导致运行时找不到对应的符号。下面是一步步的解决方法:
1. 确认OpenSSL 1.1的安装状态
首先检查Homebrew的openssl@1.1是否正常安装,执行以下命令:
brew info openssl@1.1
你应该能看到类似“openssl@1.1 is keg-only”的提示,这说明它没有被默认链接到系统路径,需要我们手动配置环境变量让工具找到它。
2. 配置环境变量,优先使用Homebrew的OpenSSL 1.1
根据你使用的shell(bash或zsh),编辑对应的配置文件:
- bash用户:打开
~/.bash_profile,添加以下内容:export PATH="/usr/local/opt/openssl@1.1/bin:$PATH" export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig" - zsh用户:打开
~/.zshrc,添加同样的内容。
添加完成后,执行以下命令让配置生效:
# bash用户 source ~/.bash_profile # zsh用户 source ~/.zshrc
3. 重新链接OpenSSL 1.1
执行以下命令强制将openssl@1.1链接到系统路径:
brew link --force openssl@1.1
如果遇到权限错误,可以先运行brew doctor检查并修复Homebrew的权限问题,再重新执行链接命令。
4. 重新安装ffsend和wget
让ffsend和wget重新编译/链接到正确的OpenSSL库,执行:
brew reinstall ffsend wget
5. 验证修复效果
现在试试执行以下命令,看是否还会报错:
ffsend --version wget --version
如果能正常输出版本信息,再测试你的上传/下载命令,应该就能正常运行了。
内容的提问来源于stack exchange,提问作者Toool
相关产品推荐
相关产品推荐

