问题标签 [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.
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
,知道它可能是什么吗?
perl - 如何为我的基于 Unix 的 perl 项目添加许可证
我有一个基于 UNIX 的 perl 项目,其中有一个main.pl
文件进一步使用了一些用户定义的 perl 模块。我想为我的 perl 项目添加许可。最好的方法是什么?
perl-module - PAR 打包程序不包括用户定义的模块
我有一个 Perl 脚本 test.pl,其中包括另一个 Perl 模块 fact.pm,它位于 crypt/Module 目录下。crypt/test.pl 的源代码是:
给出的 PAR 打包命令是
在将可执行测试复制到不同的目录路径并执行它时,我收到以下错误:
如何将模块包含在可执行文件中?
perl - 通过 Perl 打包器链接 perl xsub
我创建了一个 perl xsub 来从我的 perl 脚本中调用 C 函数。但问题是我无法通过“make install”直接安装该 xsub。xsub 已由 make 命令在上述文件夹中创建。我必须在不安装的情况下使用它。另外我正在使用 Perl 打包器为我的 perl 脚本创建可执行文件。这是我的 make 文件-
现在的问题是,即使在链接 xsub 之后,我在运行脚本时也会收到以下错误-
我什至尝试使用“use lib”在我的脚本中链接 xsub,但没有运气,得到了同样的错误。
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"
(“找不到共享库..”错误)。
我该如何解决这个问题?
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
。
有没有人对如何解决这个问题有任何想法?
perl - 如何将 Perl DBI 模块的所有依赖项添加到 PAR 打包程序存档
我创建了一个使用 DBI 包连接到 MySQL 数据库的 Perl 脚本。为了让它在不一定安装所有依赖项的其他 linux 平台上运行,我正在使用以下命令创建一个独立文件,其中包含Par Packer (pp)的所有依赖项:
独立文件在创建它的机器上工作正常,但是,在其他机器上,我在执行 DBI -> connect() 的行处收到以下错误。
似乎缺少一个文件,但我不知道如何修复它。添加-lib=/tmp/par-6d756e7a/cache-44c3853ef3002ad860cfe135d24ccc8829af39da/89fc0e43.so
不起作用。
更新 1
发生错误的服务器上已经安装了以下库:
这是一个示例脚本:
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 行。
尝试使用以下方法解决,但没有一个有效
- 试图从 Strawberry Perl 的便携版本打包
- 尝试在使用 Par::Packer 打包时链接 a9057da2.xs.dll
是否有任何解决方法或修复方法可以使用 Net:SSH2 将 perl 脚本打包到 .exe。或者是否有 Net::SSH2 的替代品,用于使用公钥(不传递密码)从 Windows 到 Linux 的 ssh?
perl - 获取 Par::Packer 的所有依赖项?
我在 OSX 和 Linux 上使用Par::Packer为一些使用 Paws 的应用程序创建二进制文件。
我这样称呼 pp :
ppdeps
pp
包含由于在构建时未检测到而导致失败的模块列表。我知道使这项工作的唯一方法是pp
重复运行,等待它失败,然后将它抱怨的模块添加到ppdeps
.
我的问题是是否有更好的方法来做到这一点,或者事先获得完整的依赖关系列表?我可以编写一个脚本来手动完成我一直在做的事情,但如果有更好的方法,我会很高兴知道。
ppdeps 内容:
这是不完整的,我仍在为这个应用程序构建它。应用程序中包含的 Paws 模块越多,弹出的隐藏依赖项就越多。
这只是使用 Paws 以及在较小程度上使用 Moose 的应用程序的问题。
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从哪里运行我的脚本?
有些人有什么替代解决方案可以满足我的要求吗?