首页 > 解决方案 > Perl 在 Strawberry Perl 中编译 PP 问题

问题描述

我在 Windows(Strawberry Perl v5.32.0)中编译引用自定义模块的脚本时遇到问题。我的 Perl 技能可以被评为 3/10,其中 10 是最好的,并且已经尽我所能研究了这个问题。

当我运行它时,它运行良好并给出了预期的结果:

pp -M PAR -M Mojolicious -C -a "C:\Strawberry\perl\site\lib\Mojo\resources\html_entities.txt;Mojo\resources\html_entities.txt" ^ -x -o testCorpProg.exe C:\草莓\自定义\new_corp_filing.pl

当我运行构建的可执行文件时,它给了我这个:

无法打开 html 实体文件(C:\Users\perluser\AppData\Local\Temp\par-73636861707061\temp-10308\inc\lib\Mojo\resources\html_entities.txt):C:\ 中没有这样的文件或目录Users\perluser\AppData\Local\Temp\par-73636861707061\temp-10308\inc\lib/Mojo/Base.pm 第 14 行。在 C:\Users\perluser\AppData\Local\Temp\par- 的要求中编译失败73636861707061\temp-10308\inc\lib/Mojo/Base.pm 第 14 行。在 C:\Users\perluser\AppData\Local\Temp\par-73636861707061\temp-10308\inc\lib/Mojo/ 的要求中编译失败DOM.pm 第 2 行。BEGIN 失败-编译在 C:\Users\perluser\AppData\Local\Temp\par-73636861707061\temp-10308\inc\lib/Mojo/DOM.pm 第 2 行中止。编译在要求中失败在 C:\Users\perluser\AppData\Local\Temp\par-73636861707061\temp-10308\inc\lib/SubmitCorpFiling.pm 第 11 行。BEGIN 失败-编译在 C 处中止:\Users\perluser\AppData\Local\Temp\par-73636861707061\temp-10308\inc\lib/SubmitCorpFiling.pm 第 11 行。在 script/new_corp_filing.pl 第 3 行的 require 中编译失败。BEGIN failed--compiled aborted at script /new_corp_filing.pl 第 3 行。

我的自定义模块的顶部如下所示:

package SubmitCorpFiling;

use strict;
use warnings;
use LWP::UserAgent;

use Text::CSV_XS;
use Carp qw(carp croak cluck);
use File::Basename;
use URI::Query;
use Mojo::DOM;
use List::MoreUtils qw(any all firstval);
use Business::CreditCard qw(validate_card);
use JSON::PP qw(decode_json);
use Locale::SubCountry;

我检查了 Mojolicious 的 PM 安装并安装了最新版本(9.19)。我很确定问题出在该模块(或Mojo::DOM)中。

cpan> install Mojolicious
Mojolicious is up to date (9.19).

我有我的 Windows 环境PERL5LIB =C:\Strawberry\Custom\lib; C:\草莓\perl\站点\lib;C:\草莓\perl\lib

有没有人遇到过这个问题,如果解决了?预先感谢您的任何帮助!

标签: perlcompiler-errorsstrawberry-perlperl-packagermojo-dom

解决方案


推荐阅读