Perl 无法加载 SSLeay.dll因为 LWP::P rotocol::https 未安装



对于内部消息,我工作的公司使用Slack。它允许与大量不同的软件和服务进行非常棒的集成。我正在制作我自己的机器人,用于向Slack发送网络挂钩。

我把所有的东西都设置好并工作了,我有一个Perl脚本,可以发送JSON负载。如果我手动触发脚本,一切都会完美运行,我的Slack机器人会发送消息。

然而,当脚本被Finalbuilder(用于自动构建处理的软件)触发时,它会失败。我得到以下回复:

501 Can't load 'C:/Strawberry/perl/site/lib/auto/Net/SSLeay/SSLeay.dll' for module Net::SSLeay: load_file:The specified module could not be found (LWP::Protocol::https not installed)

所以我想我需要安装"LWP::Protocol::https"模块。我刚打开我的cpan客户端,写了install LWP::Protocol::https

安装模块后仍然会出现错误。我写了test LWP::Protocol:https,它给出了以下响应:

Running test for module 'LWP::Protocol::https'
Running make for M/MS/MSCHILLI/LWP-Protocol-https-6.06.tar.gz
Checksum for C:StrawberrycpansourcesauthorsidMMSMSCHILLILWP-Protocol-https-6.06.tar.gz ok
Scanning cache C:Strawberrycpanbuild for sizes
............................................................................DONE
  CPAN.pm: Going to build M/MS/MSCHILLI/LWP-Protocol-https-6.06.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for LWP::Protocol::https
Could not read metadata file. Falling back to other methods to determine prerequisites
cp lib/LWP/Protocol/https.pm bliblibLWPProtocolhttps.pm
  MSCHILLI/LWP-Protocol-https-6.06.tar.gz
  C:Strawberrycbindmake.EXE -- OK
Running make test
C:Strawberryperlbinperl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0,'bliblib', 'blibarch')" t/*.t
t/apache.t ....... ok
t/https_proxy.t .. 1/56 # creating cert for direct.ssl.access
# creating cert for direct.ssl.access
# creating cert for foo
# creating cert for bar
# creating cert for foo
# creating cert for foo
# creating cert for bar
# creating cert for bar
t/https_proxy.t .. ok
All tests successful.
Files=2, Tests=61,  8 wallclock secs ( 0.02 usr +  0.01 sys =  0.03 CPU)
Result: PASS
  MSCHILLI/LWP-Protocol-https-6.06.tar.gz
  C:Strawberrycbindmake.EXE test -- OK

我可以用windows CMD或Finalbuilder触发我的脚本。两者都可以正常工作,但当Finalbuilder项目通过Continua CI激活时,我会收到"无法加载ssleay.dll"错误。

我现在不知道该怎么办。有人知道我如何修复Perl错误吗

我在IDE中运行脚本时遇到了同样的错误,但不是在命令行中(同样的问题)。

我的命令行正在将这些添加到路径中。(这些没有全局定义)。

c:perlperlbin;c:perlsupbin;c:perlcbin;

但是IDE没有这些。所以同样的修复应该适用于FinalBuilder,它缺少perl路径信息。

是否加载了头文件?我不知道它们适用于Windows,但在Linux中,它们被称为:libssl-devzlib1g-dev

我也有一段时间出现了这个错误。就我而言,解决方案非常简单。事实证明,我没有重新启动SVN服务,所以当它运行post-commit.bat文件时,PATH环境没有更新以反映Perl安装期间添加的新路径。

当我进行测试时,我从一个新的控制台窗口运行,该窗口具有正确的PATH,但当它通过SVN从批处理文件运行时,它就崩溃了,出现了与您发布的错误完全相同的错误。

IDE Eclipse也有同样的问题,命令行很好,但IDE有错误。我检查位置:

C:>perldoc -l LWP::Protocol::https
C:zailperlperlvendorlibLWPProtocolhttps.pm

我将其添加到Environments变量中。我不想重新启动我的电脑,所以我添加了IDE的父路径。右键单击项目。

在此处输入图像描述

相关内容

最新更新