perl - 找不到 OpenSSL 如果已经安装,请相应设置 OPENSSL_PREFIX 环境变量
问题描述
当我尝试Net::SSLeay
在 Debian 上安装时,我得到了
Use of uninitialized value in subroutine entry at Makefile.PL line 290.
Use of uninitialized value $exec in -x at Makefile.PL line 108.
*** Could not find OpenSSL
If it's already installed, please set the OPENSSL_PREFIX environment
variable accordingly. If it isn't installed yet, get the latest version
from http://www.openssl.org/.
N/A
但我确实安装了 OpenSSL,
$ dpkg -l libssl-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-================-============-============-================================================
ii libssl-dev:amd64 1.1.1b-2 amd64 Secure Sockets Layer toolkit - development files
我也试过玩OPENSSL_PREFIX
。
解决方案
这不是由于无法找到标头(由 提供-dev
)导致的错误,而是因为它找不到 openssl 二进制实用程序。仍然需要标头,但您也需要二进制openssl
实用程序。您可以安装Net::SSLeay
with apt 本身,也可以从源代码构建模块。简单的方法,Net::SSLeay
从 apt 安装,可以用
sudo apt install libnet-ssleay-perl
或者,您可以安装二进制文件openssl
,然后尝试使用 cpan 再次安装。
sudo apt install openssl libssl-dev zlib1g-dev ## all requirements to build Net::SSLeay
cpanm Net::SSLeay
您可以验证是否openssl
已安装(如果可行,则上述错误不应重现)
openssl version
推荐阅读
- javascript - 在 javascript 中读取 json 文件中包含的设置
- firefox - 如何在 Katalon 测试执行期间设置 Firefox 以不提示下载文件?
- java - JavaFX 使用 FXML 文件构建边界窗格
- python - 将未来日期添加到 DataFrame
- swift - 调整窗口大小时,SwiftUI TextField 文本边界无法使用 GeometryReader 更新,导致外观错误
- python - 从 python 脚本运行 .sh 文件
- ffmpeg - 如何在ffmpeg中的特定时间将视频叠加到其他视频中作为黑背景?
- javascript - 在 Localhost 创建访客柜台
- yocto - 为什么设置 BB_GENERATE_MIRROR_TARBALLS 时 Yocto 不生成 tarball?
- firebase - Cloud Firebase 批量更新