mac 手工安装OpenSSL 3.4.0

如果你希望继续安装 `openssl-3.4.0` 而不是降级到 `3.1.1`,可以尝试以下解决方案。根据你提供的错误信息,问题可能出在测试阶段(`make test`),我们可以尝试跳过测试或修复测试失败的原因。

---

### **解决方案:安装 `openssl-3.4.0`**

#### **1. 清理之前的安装尝试**
在重新安装之前,确保清理之前失败的安装:
```bash
brew uninstall openssl@3
brew cleanup
rm -rf /Users/houlin/Library/Caches/Homebrew/downloads/4b9ac0aabfe9267c004998b875217f5034f92ff065771f7cf3e1c1552645c67f--openssl-3.4.0.tar.gz
```

---

#### **2. 手动下载并安装 `openssl-3.4.0`**

##### **步骤 1:下载 `openssl-3.4.0`**
访问 [OpenSSL 官方下载页面](https://www.openssl.org/source/) 下载 `openssl-3.4.0.tar.gz`,或者直接使用以下命令下载:
```bash
curl -O https://www.openssl.org/source/openssl-3.4.0.tar.gz
```

##### **步骤 2:解压缩文件**
解压下载的文件:
```bash
tar -xzf openssl-3.4.0.tar.gz
cd openssl-3.4.0
```

##### **步骤 3:配置编译选项**
运行以下命令配置 OpenSSL:
```bash
perl ./Configure --prefix=/usr/local/Cellar/openssl@3/3.4.0 --openssldir=/usr/local/etc/openssl@3 no-ssl3 no-ssl3-method no-zlib darwin64-x86_64-cc enable-ec_nistp_64_gcc_128
```
- `--prefix`:指定安装路径。
- `--openssldir`:指定 OpenSSL 配置文件路径。
- `no-ssl3` 和 `no-ssl3-method`:禁用不安全的 SSLv3 协议。
- `darwin64-x86_64-cc`:指定 macOS 平台和编译器。
- `enable-ec_nistp_64_gcc_128`:启用优化的椭圆曲线算法。

##### **步骤 4:编译 OpenSSL**
运行以下命令编译 OpenSSL:
```bash
make
```

##### **步骤 5:跳过测试(可选)**
如果 `make test` 失败,可以跳过测试直接安装:
```bash
sudo make install
```
如果你希望运行测试,可以使用以下命令:
```bash
make test
```
如果测试失败,可以检查日志文件 `/Users/houlin/Library/Logs/Homebrew/openssl@3/04.make` 以获取更多信息。

##### **步骤 6:验证安装**
安装完成后,验证 OpenSSL 版本:
```bash
/usr/local/Cellar/openssl@3/3.4.0/bin/openssl version
```
输出应为:
```
OpenSSL 3.4.0
```

---

#### **3. 配置环境变量**
确保系统使用新安装的 OpenSSL 版本,而不是系统自带的旧版本。编辑你的 Shell 配置文件(如 `~/.zshrc` 或 `~/.bashrc`),添加以下内容:
```bash
export PATH="/usr/local/Cellar/openssl@3/3.4.0/bin:$PATH"
export LDFLAGS="-L/usr/local/Cellar/openssl@3/3.4.0/lib"
export CPPFLAGS="-I/usr/local/Cellar/openssl@3/3.4.0/include"
export PKG_CONFIG_PATH="/usr/local/Cellar/openssl@3/3.4.0/lib/pkgconfig"
```
然后运行以下命令使配置生效:
```bash
source ~/.zshrc  # 或者 source ~/.bashrc
```

---

#### **4. 链接 OpenSSL(可选)**
如果你使用 Homebrew,可以运行以下命令将 OpenSSL 链接到系统:
```bash
brew link --force openssl@3
```

---

#### **5. 验证安装**
运行以下命令验证 OpenSSL 是否安装成功:
```bash
which openssl
openssl version
```
输出应为:
```
/usr/local/Cellar/openssl@3/3.4.0/bin/openssl
OpenSSL 3.4.0
```

---

### **6. 如果仍然遇到问题**
如果仍然遇到问题,可以尝试以下方法:
1. **检查依赖**:
   确保系统中安装了必要的依赖,如 `perl` 和 `make`:
   ```bash
   brew install perl make
   ```

2. **检查编译器**:
   确保你使用的是正确的编译器(如 `clang`)。运行以下命令检查:
   ```bash
   cc --version
   ```

3. **查看日志**:
   如果安装失败,查看日志文件以获取更多信息:
   ```bash
   cat /Users/houlin/Library/Logs/Homebrew/openssl@3/04.make
   ```

4. **降级到 3.1.1**:
   如果问题仍然无法解决,可以按照你提供的解决方案降级到 `openssl-3.1.1`。

---

通过以上步骤,你应该能够成功安装 `openssl-3.4.0`。如果问题仍然存在,请提供更多错误信息,我会进一步帮助你解决!

### OpenSSL 3.4.0 安装教程 #### Windows 平台安装 对于Windows平台,可以从官方网站获取预编译的二进制文件来简化安装过程。下载适用于目标操作系统的可执行(.exe)安装程序并遵循向导提示完成设置流程[^1]。 安装完成后需配置环境变量以便命令行工具能够识别新版本的位置。具体来说就是把`C:\Program Files\OpenSSL-Win64\bin`加入到PATH中去,并确认该目录下的`openssl.cfg`被正确引用作为配置文件的一部分。 验证安装是否成功的常用方法是在CMD窗口输入`where openssl`查看返回的结果列表里是否有指向预期位置的条目存在;另外还可以通过运行`openssl version`命令直接查询当前使用的OpenSSL版本号来进行判断。 如果遇到冲突问题——比如系统内已有其他版本的OpenSSL残留——可能需要手动清理这些遗留组件以确保更新后的实例成为唯一有效的选择。例如,在某些情况下移除位于特定路径(`C:\Strawberry\c\bin`)中的旧版`openssl.exe`可能是必要的措施之一。 #### Linux 平台安装 针对Linux发行版而言,通常建议采用源码编译的方式来获得最稳定可靠的体验。这涉及到几个关键环节: - **准备阶段**:确保具备构建所需的各种依赖项,像zlib-devel这样的包就属于常见的前置条件[^2]。 - **替换原有链接**:为了使整个操作系统层面都能享受到新版特性带来的好处,应当谨慎处理原有的符号链接关系。先保存好现有的`/usr/bin/openssl`副本以防万一,之后建立一个新的指向至刚刚安装完毕的新版本上的软连接。 - **刷新共享库缓存**:最后一步是要让动态加载器知道哪里能找到最新的加密函数实现。为此可以在`/etc/ld.so.conf.d/`创建一个名为`openssl-3.4.0.conf`的小文件并将适当的内容写入其中,随后执行`sudo ldconfig`令更改生效。 再次强调一遍,每次调整过后都应利用`openssl version`指令检验实际效果如何,以此保证每一步骤均按计划顺利推进。 ```bash mv /usr/bin/openssl /usr/bin/openssl.old ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl echo "/usr/local/openssl/lib" >> /etc/ld.so.conf.d/openssl-3.4.0.conf sudo ldconfig ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子燕若水

吹个大气球

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值