Pour la messagerie interne, la société pour laquelle je travaille utilise Slack. Il permet une intégration impressionnante avec des tonnes de logiciels et de services différents. Je fais mon propre bot pour envoyer des webhooks à Slack.Perl ne peut pas charger SSLeay.dll car LWP :: Protocol :: https n'est pas installé
J'ai tout mis en place et de travailler, j'ai un script Perl qui envoie une charge utile JSON. Si je déclenche le script manuellement, tout fonctionne parfaitement et mon robot Slack envoie des messages.
Cependant, lorsque le script est déclenché par Finalbuilder (Logiciel pour le traitement de compilation automatique), il échoue. je reçois la réponse suivante:
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)
Je pensais que je devais installer le "LWP :: Protocol :: https" module. Je viens d'ouvrir mon client cpan et a écrit install LWP::Protocol::https
Toujours obtenir l'erreur après l'installation du module. Je écrit test LWP::Protocol:https
, qui a donné la réponse suivante:
Running test for module 'LWP::Protocol::https'
Running make for M/MS/MSCHILLI/LWP-Protocol-https-6.06.tar.gz
Checksum for C:\Strawberry\cpan\sources\authors\id\M\MS\MSCHILLI\LWP-Protocol-https-6.06.tar.gz ok
Scanning cache C:\Strawberry\cpan\build 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 blib\lib\LWP\Protocol\https.pm
MSCHILLI/LWP-Protocol-https-6.06.tar.gz
C:\Strawberry\c\bin\dmake.EXE -- OK
Running make test
C:\Strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0,'blib\lib', 'blib\arch')" 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:\Strawberry\c\bin\dmake.EXE test -- OK
je peux déclencher mon script avec des fenêtres CMD, ou FinalBuilder. Les deux fonctionneront très bien, mais lorsque le projet Finalbuilder est activé via Continua CI, j'obtiens l'erreur "can not load ssleay.dll".
Je n'ai aucune idée quoi faire maintenant. Est-ce que quelqu'un sait comment je peux réparer l'erreur Perl?
Les versions actuelles de Strawberry Perl sont déjà livrées avec les modules nécessaires. Utilisez simplement une version plus récente. –
Vous interprétez mal le message d'erreur. LWP signale que LWP :: Protocol :: https n'est pas installé car il a rencontré une erreur lors de la tentative de chargement de LWP :: Protocol :: https. Cette erreur étant celle lancée par Net :: SSLeay: Impossible de charger 'C: /Strawberry/perl/site/lib/auto/Net/SSLeay/SSLeay.dll'. Cela signifie que Net :: SSLeay n'est pas correctement installé. – ikegami
Désolé si ma question est mal posée, je ne suis pas familier avec Perl. J'ai Net-SSLeay-1.68 installé., Et Net :: SSLeay passe le test de cpan. –