3

私が勤務する会社では、社内メッセージにSlackを使用しています。これにより、さまざまなソフトウェアやサービスとの素晴らしい統合が可能になります。Webhook を Slack に送信するための独自のボットを作成しています。

JSON ペイロードを送信する Perl スクリプトがあります。スクリプトを手動でトリガーすると、すべてが問題なく機能し、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:\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

Windows CMD または Finalbuilder でスクリプトをトリガーできます。どちらも正常に動作しますが、Finalbuilder プロジェクトが Continua CI を介してアクティブ化されると、「ssleay.dll を読み込めません」というエラーが発生します。

私は今何をすべきかわかりません。Perlエラーを修正する方法を知っている人はいますか?

4

3 に答える 3

1

IDE からスクリプトを実行しているときに同じエラーが発生しましたが、コマンド ラインからではありません (同じ問題)。

私のコマンドラインはこれらをパスに追加していました:(これらはグローバルに定義されていません) c:\perl\perl\bin;c:\perl\sup\bin;c:\perl\c\bin;

しかし、IDE にはこれらがありませんでした。したがって、同じ修正が FinalBuilder でも機能するはずです。Perl パス情報が欠落しています。

于 2019-04-19T19:37:37.360 に答える
0

ヘッダファイルをロードしましたか? Windows の場合はわかりませんが、Linux では次のように呼ばれますlibssl-devzlib1g-dev

于 2015-03-04T21:34:25.260 に答える