问题标签 [pp-perl-par-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 回答
1044 浏览

perl - Perl Par::Packer 找不到模块问题

我有一个WWW::Mechanize::Firefox在 windows 7 32bit 上使用草莓 perl 的 perl 程序。

它适用于命令C:\>perl testcase.pl。当我用它编译它时,C:\>pp -o testcase.exe testcase.pl它编译时没有错误。

当我运行它时,testcase.exe它给了我错误:

我使用的代码testcase.pl是:

另请注意,没有WWW::Mechanize::Firefox和的程序MozRepl可以正常工作。问题显然已经缩小到PAR::Packer不喜欢MozRepl,知道它可能是什么吗?

0 投票
1 回答
47 浏览

perl - 如何为我的基于 Unix 的 perl 项目添加许可证

我有一个基于 UNIX 的 perl 项目,其中有一个main.pl文件进一步使用了一些用户定义的 perl 模块。我想为我的 perl 项目添加许可。最好的方法是什么?

0 投票
1 回答
398 浏览

perl-module - PAR 打包程序不包括用户定义的模块

我有一个 Perl 脚本 test.pl,其中包括另一个 Perl 模块 fact.pm,它位于 crypt/Module 目录下。crypt/test.pl 的源代码是:

给出的 PAR 打包命令是

在将可执行测试复制到不同的目录路径并执行它时,我收到以下错误:

如何将模块包含在可执行文件中?

0 投票
0 回答
68 浏览

perl - 通过 Perl 打包器链接 perl xsub

我创建了一个 perl xsub 来从我的 perl 脚本中调用 C 函数。但问题是我无法通过“make install”直接安装该 xsub。xsub 已由 make 命令在上述文件夹中创建。我必须在不安装的情况下使用它。另外我正在使用 Perl 打包器为我的 perl 脚本创建可执行文件。这是我的 make 文件-

现在的问题是,即使在链接 xsub 之后,我在运行脚本时也会收到以下错误-

我什至尝试使用“use lib”在我的脚本中链接 xsub,但没有运气,得到了同样的错误。

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 投票
1 回答
280 浏览

perl - Perl:使用 Unicode::GCString 执行 par 打包程序,找不到对象方法“new”

我正在使用PAR::Packer模块来创建使用该Unicode::GCString模块的 Perl 脚本的 Windows 可执行文件。

脚本的精简版本如下:

mwe.pl

当我跑

输出给出字符串的“宽度”:

这是预期的。

mwe.exe使用命令创建

当我跑步时

我收到错误

无法通过 script/mwe.pl 第 6 行的包“Unicode::GCString”定位对象方法“new”

经过审查AppData\Local\Temp\par-xxxxxx\cache-xxxxx\inc\lib,我相信它Unicode::GCString是存在的,原样Unicode::LineBreak

有没有人对如何解决这个问题有任何想法?

0 投票
1 回答
636 浏览

perl - 如何将 Perl DBI 模块的所有依赖项添加到 PAR 打包程序存档

我创建了一个使用 DBI 包连接到 MySQL 数据库的 Perl 脚本。为了让它在不一定安装所有依赖项的其他 linux 平台上运行,我正在使用以下命令创建一个独立文件,其中包含Par Packer (pp)的所有依赖项:

独立文件在创建它的机器上工作正常,但是,在其他机器上,我在执行 DBI -> connect() 的行处收到以下错误。

似乎缺少一个文件,但我不知道如何修复它。添加-lib=/tmp/par-6d756e7a/cache-44c3853ef3002ad860cfe135d24ccc8829af39da/89fc0e43.so不起作用。

更新 1

发生错误的服务器上已经安装了以下库:

这是一个示例脚本:

0 投票
1 回答
357 浏览

perl - 使用 Par::Packer 和包含 Net::SSH2 的脚本创建的 .exe 不起作用

我在我的 Perl 脚本中使用 Net::SSH2 模块并尝试使用 Par::Packer 制作可执行文件(Windows 的 .exe)。该脚本需要使用公钥从 Windows 框 ssh 到 linux 框,并且不想输入密码。

运行.exe时遇到以下错误

无法为模块 Net::SSH2 加载“C:\Users...\AppData\Local\Temp\par-73656172756d7567616d\cache-a6d57d5a234829aae84d08c4a78a09ad307ea8d3\a9057da2.xs.dll”:加载文件:找不到指定的模块C:/Strawberry/perl/lib/DynaLoader.pm 第 193 行。在 C:/Strawberry/perl/vendor/lib/PAR/Heavy.pm 第 123 行。

尝试使用以下方法解决,但没有一个有效

  1. 试图从 Strawberry Perl 的便携版本打包
  2. 尝试在使用 Par::Packer 打包时链接 a9057da2.xs.dll

是否有任何解决方法或修复方法可以使用 Net:SSH2 将 perl 脚本打包到 .exe。或者是否有 Net::SSH2 的替代品,用于使用公钥(不传递密码)从 Windows 到 Linux 的 ssh?

0 投票
1 回答
196 浏览

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

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

我这样称呼 pp :

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

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

ppdeps 内容:

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

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

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从哪里运行我的脚本?

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