问题标签 [perl-packager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1744 浏览

perl - 如何将 perl 脚本与 Windows 的所有依赖项打包以在 linux 机器上运行?

我已经使用 pp PAR::Packer 构建了一个独立的 exe 文件以在 Windows 机器上运行。

有人能解释一下如何用这台 Windows 机器上的所有依赖包构建一个 Perl 脚本来创建一个在Linux机器上运行的独立文件吗?

0 投票
2 回答
218 浏览

perl - Perl PP 不包含 Switch 模块

我创建了一个包含该Switch模块的 perl 脚本。

hello_world.pl

如果我启动perl hello_world.pl一切正常。但是,如果我打包我的脚本pp hello_world.pl而不是启动./a.out它会给我这个错误:

0 投票
1 回答
1949 浏览

perl - 使用 pp 生成的可执行文件缺少“libexpat-1_.dll”错误

exe使用 Strawberry Perl 用 pp 制作了文件,但是当我在另一台机器上运行它时,出现以下错误:

我用这个命令制作可执行文件:

我尝试使用-a "c:\strawberry\c\bin\libexpat-1_.dll"(没有帮助)和-l "c:\strawberry\c\bin\libexpat-1_.dll"(“找不到共享库..”错误)。

我该如何解决这个问题?

0 投票
0 回答
362 浏览

perl - perl:标量在脚本中找到运算符预期的位置

在谷歌中找不到答案,我自己也弄不明白。Win7 64bit 这是为 MSWin32-x86-multi-thread-64int 构建的 perl 5,版本 22,subversion 3 (v5.22.3),带有模块 List::BinarySearch 和 PAR::Packer 与 cpan 一起安装

想法是编辑文本文件并按排序顺序添加数字。下面是一个简短的版本,只是为了重现问题。

问题:当我将脚本作为 pl 运行时,binsearch_pos 可以工作,但当我用它制作独立的 EXE 时会失败。

重现代码:

预期输出(当前来自 test.pl):

C:\Users\timo>test.pl 012456 0123456

EXE创建:pp -o test.exe test.pl

可执行文件输出:

C:\Users\timo>test.exe 标量在脚本/test.pl 第 17 行,“} $add”附近找到运算符预期的位置($add 之前缺少运算符?)脚本/test.pl 第 17 行附近的语法错误"} $add" 全局符号 "$idx" 在 script/test.pl 第 18 行需要明确的包名(你忘了声明“my $idx”吗?)。全局符号 "$idx" 需要明确的包名(你是忘记在 script/test.pl 第 19 行声明“my $idx”?)在 script/test.pl 第 21 行,全局符号“$idx”需要明确的包名(您是否忘记声明“my $idx”?) . 全局符号“$idx”需要在 script/test.pl 第 22 行明确的包名(你忘了声明“my $idx”吗?)。

使用 perl2exe 或 pp 制作 EXE 时出现同样的错误。这可能是因为在某处潜伏着其他版本的 binsearch_pos 吗?

我迷路了。

BR,蒂莫

0 投票
1 回答
196 浏览

perl - 获取 Par::Packer 的所有依赖项?

我在 OSX 和 Linux 上使用Par::Packer为一些使用 Paws 的应用程序创建二进制文件。

我这样称呼 pp :

ppdepspp包含由于在构建时未检测到而导致失败的模块列表。我知道使这项工作的唯一方法是pp重复运行,等待它失败,然后将它抱怨的模块添加到ppdeps.

我的问题是是否有更好的方法来做到这一点,或者事先获得完整的依赖关系列表?我可以编写一个脚本来手动完成我一直在做的事情,但如果有更好的方法,我会很高兴知道。

ppdeps 内容:

这是不完整的,我仍在为这个应用程序构建它。应用程序中包含的 Paws 模块越多,弹出的隐藏依赖项就越多。

这只是使用 Paws 以及在较小程度上使用 Moose 的应用程序的问题。

0 投票
1 回答
162 浏览

ruby - 为什么 lib/pp.rb 需要不存在的 lib/pp/room

我正在尝试使用捆绑器创建 gem。这个 gem 需要 pp gem 来制作“漂亮的打印”。我在源代码的顶部需要“pp”,然后在需要的地方使用 pp。但是,会发生运行时错误。

D:/PRJ/git/smde/vendor/bundle/ruby/2.5.0/gems/pp-0.1.1/lib/pp.rb:1:in `require': 无法加载此类文件 -- pp/room (加载错误)

pp gem 的 lib/pp 目录下没有房间文件。为什么?

更有趣的是,当我直接启动我的 gem 脚本时,pp gem 运行良好,即“ruby myscript.rb”。缺少 pp/lib/room 不是必需的。

0 投票
1 回答
38 浏览

perl - 自动替换服务器中的 exe 文件或 script/myscript.pl

所以我将 PerlPacked exe 工具部署给用户。在检查是否有新工具可用后,我想从服务器运行新工具的自动替换。

1)我知道在windows中,当程序运行时,你可以重命名my.exe => myTemp.exe,从服务器下载新的mytool.exe,然后在mytool.exe运行时运行软件更新检查,删除 myTemp.exe。但是在运行期间重命名 pp 生成的 exe 是不可能的。

2)或者,我想从服务器替换/tmp/par-/cache-/inc/script/mytool.pl,但具有讽刺意味的是,这并没有生效。即使我删除了这个文件,exe 也能顺利运行而不会生成新文件。我想知道它不需要这个脚本文件吗?exe从哪里运行我的脚本?

有些人有什么替代解决方案可以满足我的要求吗?

0 投票
0 回答
362 浏览

windows - win32 草莓 perl PAR Packer 制作 exe 文件

我在 Windows 服务器上使用:我的 perl5(修订 5 版本 30 颠覆 0)配置 PAR::Packer 的摘要是最新的(1.049)。

我可以成功构建 exe 文件而不会出现错误消息。

pp -o p.exe p.pl

内容 p.pl

在本地机器上运行良好。将 exe 传输到其他 Windows 主机并运行脚本。没有输出:-(

我究竟做错了什么?

问候托马斯

0 投票
1 回答
527 浏览

perl - pp - PAR 打包程序,找不到 strict.pm

我有一个名为 master.pl 的 perl 脚本,它包含以下代码行

我使用命令制作了 master.pl 的二进制可执行文件:

我将此可执行文件复制到其他服务器上(因为 pp 命令在其他服务器上不可用,所以我在我的 linux 系统上制作了可执行文件)。当我运行 master 它给我错误

*无法在 @INC 中找到 strict.pm(@INC 包含:/usr/local/lib64/perl5 .... *

这里的问题是 slave.pl 包含使用严格;@INC 显示在该服务器上无效的路径。

有没有办法解决这个问题?我不想使 slave.pl 可执行。当它调用''' system("perl /proj/scripts/slave.pl"); ''' 那么它应该在@INC 中有有效的路径

0 投票
1 回答
285 浏览

perl - 从 Perl 脚本创建可执行程序

我正在尝试从完成的 perl 脚本制作一个可执行程序。我毫无困难地安装了 PAR::Packer 模块。但是,我不相信我这样做是正确的。下面是我要编译的脚本中的代码:

以上是我在Perl Monk上找到的一个示例。如果我运行脚本并收到以下错误:

代码中的第三行是第 15 行。试图通过运行程序来编译它似乎很奇怪。根据我的经验,这一直是在外部完成的。我错过了什么?