mac启动NGINX出现dyld[66087]: Library not loaded: ‘/usr/local/opt/openssl/lib/libssl.1.0.0.dylib‘报错信息

解决Brew更新时OpenSSL报错:c_rehashsymlinking问题
文章讲述了在使用Brew更新OpenSSL时遇到的错误,涉及c_rehash的symlink问题,解决方法包括删除原有链接、unlinkopenssl、然后再重新链接brewlinkopenssl。

从网上查阅资料发现应该是brew更新的时候 openssl版本也更新了

花了很久终于改好

brew link openssl

会有一个报错的提示信息

我的是

Error: Could not symlink bin/c_rehash

Target /usr/local/bin/c_rehash

is a symlink belonging to openssl@3. You can unlink it:

  brew unlink openssl@3

然后进行brew unlink openssl@3

再brew link openssl就可以了

 

Nginx 编译过程中,如果遇到 `/usr/local/openssl/lib/libssl.a` 或 `/usr/local/openssl/lib/libcrypto.a` 文件不存在的错误,通常意味着 OpenSSL 的静态库文件没有被正确生成或安装。以下是一些可能的解决方案: ### 1. 确保 OpenSSL 安装正确 在安装 OpenSSL 时,确保使用了正确的配置选项以生成静态库。可以通过以下命令来配置 OpenSSL: ```bash ./config --prefix=/usr/local/openssl no-shared ``` 其中 `no-shared` 选项表示不生成共享库(`.so` 文件),只生成静态库(`.a` 文件)。接着执行以下命令进行编译和安装: ```bash make sudo make install ``` 这样会在 `/usr/local/openssl/lib/` 目录下生成 `libssl.a` 和 `libcrypto.a` 文件 [^1]。 ### 2. 检查 OpenSSL 安装路径 确保在编译 Nginx 时指定的 OpenSSL 路径与实际安装路径一致。可以在 Nginx 的 `./configure` 命令中使用 `--with-openssl` 参数指定 OpenSSL 的安装目录: ```bash ./configure --with-openssl=/usr/local/openssl ``` 如果 OpenSSL 被安装到其他路径,例如 `/usr/local/lib/openssl`,则需要相应地调整该路径 [^1]。 ### 3. 检查文件权限和链接 如果 OpenSSL 已经安装,但仍然找不到 `libssl.a` 或 `libcrypto.a` 文件,可能是由于文件权限或符号链接的问题。可以通过以下命令检查 `/usr/local/openssl/lib/` 目录下的文件是否存在: ```bash ls /usr/local/openssl/lib/ ``` 如果文件不存在,可以尝试重新编译和安装 OpenSSL。如果文件存在但仍然无法找到,可以尝试创建符号链接: ```bash ln -s /usr/local/openssl/lib/libssl.a /usr/local/lib/libssl.a ln -s /usr/local/openssl/lib/libcrypto.a /usr/local/lib/libcrypto.a ``` ### 4. 使用动态库代替静态库 如果不需要静态库,可以考虑使用动态库(`.so` 文件)。在 OpenSSL 配置时去掉 `no-shared` 参数,以生成共享库: ```bash ./config --prefix=/usr/local/openssl ``` 然后执行 `make` 和 `make install`。在 Nginx 的 `./configure` 命令中,确保动态库路径正确,并在运行时设置 `LD_LIBRARY_PATH`: ```bash export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH ``` ### 5. 处理版本冲突问题 如果系统中存在多个版本的 OpenSSL,可能会导致版本冲突。可以通过以下命令检查当前使用的 OpenSSL 版本: ```bash openssl version ``` 如果版本不符合预期,可以尝试更新系统的 OpenSSL 库,或者通过符号链接将系统使用的 OpenSSL 指向新安装的版本 [^3]。 ###
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值