问题标签 [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.
perl - 如何将 perl 脚本与 Windows 的所有依赖项打包以在 linux 机器上运行?
我已经使用 pp PAR::Packer 构建了一个独立的 exe 文件以在 Windows 机器上运行。
有人能解释一下如何用这台 Windows 机器上的所有依赖包构建一个 Perl 脚本来创建一个在Linux机器上运行的独立文件吗?
perl - Perl PP 不包含 Switch 模块
我创建了一个包含该Switch
模块的 perl 脚本。
hello_world.pl
如果我启动perl hello_world.pl
一切正常。但是,如果我打包我的脚本pp hello_world.pl
而不是启动./a.out
它会给我这个错误:
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:标量在脚本中找到运算符预期的位置
在谷歌中找不到答案,我自己也弄不明白。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,蒂莫
perl - 获取 Par::Packer 的所有依赖项?
我在 OSX 和 Linux 上使用Par::Packer为一些使用 Paws 的应用程序创建二进制文件。
我这样称呼 pp :
ppdeps
pp
包含由于在构建时未检测到而导致失败的模块列表。我知道使这项工作的唯一方法是pp
重复运行,等待它失败,然后将它抱怨的模块添加到ppdeps
.
我的问题是是否有更好的方法来做到这一点,或者事先获得完整的依赖关系列表?我可以编写一个脚本来手动完成我一直在做的事情,但如果有更好的方法,我会很高兴知道。
ppdeps 内容:
这是不完整的,我仍在为这个应用程序构建它。应用程序中包含的 Paws 模块越多,弹出的隐藏依赖项就越多。
这只是使用 Paws 以及在较小程度上使用 Moose 的应用程序的问题。
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 不是必需的。
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从哪里运行我的脚本?
有些人有什么替代解决方案可以满足我的要求吗?
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 主机并运行脚本。没有输出:-(
我究竟做错了什么?
问候托马斯
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 中有有效的路径
perl - 从 Perl 脚本创建可执行程序
我正在尝试从完成的 perl 脚本制作一个可执行程序。我毫无困难地安装了 PAR::Packer 模块。但是,我不相信我这样做是正确的。下面是我要编译的脚本中的代码:
以上是我在Perl Monk上找到的一个示例。如果我运行脚本并收到以下错误:
代码中的第三行是第 15 行。试图通过运行程序来编译它似乎很奇怪。根据我的经验,这一直是在外部完成的。我错过了什么?