如何打包我的Perl脚本以在没有Perl的计算机上运行?
时间:2020-03-05 18:57:14 来源:igfitidea点击:
人们还经常问"如何编译Perl?"而他们真正想要的是创建一个即使在没有安装Perl的情况下也可以在计算机上运行的可执行文件。
我知道有几种解决方案:
- IndigoStar的perl2exe是商业的。我没试过它的网站说它可以交叉编译Win32,Linux和Solaris。
- ActiveState的Perl开发套件。它是商业的。几年前,我在Windows上使用了它,并且很好地满足了我的需求。根据其网站,它可以在Windows,Mac OS X,Linux,Solaris,AIX和HP-UX上运行。
- PAR或者更确切地说是PAR :: Packer,它是免费的开放源代码。根据测试报告,它可以在Windows,Mac OS X,Linux,NetBSD和Solaris上运行,但从理论上讲,它也可以在其他UNIX系统上运行。最近,我开始在Linux上使用PAR进行打包,并且还将在Windows上使用它。
其他推荐的解决方案?
解决方案
回答
我们可以使用大多数Perl发行版附带的perlcc
工具。我还发现perl2exe
和Active State的Perl Dev套件对于运送Perl应用程序都很有用。
回答
除了问题中列出的三个工具外,还有另一个由Mark Dootson编写的名为Cava Packager的工具,他过去也曾为PAR做出过贡献。它仅在Windows下运行,具有出色的Wx GUI,并且与典型的三个竞争者不同,它在Source / lib目录中组装了所有Perl依赖项,而不是创建包含所有内容的单个存档。有一个免费版本,但不是开放源代码。除了测试之外,我没有使用过它。
至于PAR,它实际上是一个工具包。它带有一个打包工具,该工具可以进行依赖项扫描和独立可执行文件的汇编,但是它也可以用来生成和使用所谓的.par文件,类似于Java的JAR。它还带有客户端和服务器,用于通过网络自动加载缺少的软件包等。我在YAPC :: EU 2008上的PAR幻灯片详细介绍了此内容。
还有一个活动的邮件列表:perl dot org的票面价格。
回答
我是Perl的新手,我刚刚下载了Cava Packager,这是我发现的唯一工作方式。我在Windows XP上使用PAR-Packager尝试了ActiveState 5.10.1005和Strawberry Perl。
pp只是挂在中间,没有创建可执行文件。
到目前为止,Cava提供了在Windows上创建exe的唯一解决方案。 ks