使用 Carton 和自定义 LibreSSL/OpenSSL 安装 IO::Socket::SSL 的正确方法是什么

What is the right way to install IO::Socket::SSL using Carton and custom LibreSSL/OpenSSL

Perl 框架 Mojolicious 使用可选模块 IO::Socket::SSL 进行安全连接。

MojoliciousIO::Socket::SSL 必须使用 Carton 安装( cpanfile 包含依赖项列表)。
为了使用 IO::Socket::SSL 我需要安装 Net::SSLeay
Net::SSLeay 需要安装 LibreSSL 或 OpenSSL。

在开发者的服务器上,确定的 Perl 项目必须使用确定的 LibreSSL/OpenSSL 版本:

$HOME/opt/LibreSSL/v1
$HOME/opt/LibreSSL/v...
$HOME/opt/OpenSSL/v1
$HOME/opt/OpenSSL/v...

我的解决办法是更改$PATH系统变量(本地自定义LibreSSL/OpenSSL)之前:

- execution "carton install" command
- running of a Perl project for testing

这样做对吗?

确定 link 反对的 OpenSSL 实例由 Net::SSLeay 在其安装期间完成(IO::Socket::SSL 只是该模块的一个接口)。它在 README:

中解释
    If your OpenSSL is installed in an unusual place, you can tell
    Net-SSLeay where to find it with the OPENSSL_PREFIX environment
    variable:
    OPENSSL_PREFIX=/home/mikem/playpen/openssl-1.0.2c perl Makefile.PL

安装后,不再需要将其指示给使用该模块的各个 Perl 项目。