我一直在使用PAR:Packer(pp)为windows创建二进制文件。它们总是可以理解的大(大约6-8MB),最近我更新了我的软件包(我在windows上使用stawberry perl),现在它正在生成几乎20MB的二进制文件!据我所知,它包含了一个完整的perl环境以及所有需要的模块,但它已经失去控制,并且有点尴尬地交给某人一个19MB的简单脚本!无论如何要减少二进制大小?任何人都知道为什么在最近的几个版本或PAR Packer中尺寸有所增加?
答案 0 :(得分:3)
在Perl环境中安装新模块(甚至只升级一些)时, pp 将包含大量其他文件,即使脚本未使用它们也是如此。这是因为 pp 比关于包含什么包含它会吸收大量无用的依赖关系更安全。
诀窍是使用两个 Perl环境。一个用于开发,另一个用于构建二进制文件。对于构建环境,从新的Perl安装开始,安装PAR :: Packer和仅应用程序所需的模块。
在我的建筑环境中,我可以生成仅5 Mb的Tk二进制文件。在我的开发环境(CPAN上有很多垃圾)在同一台机器上,相同的脚本是13 Mb。
答案 1 :(得分:2)
它有什么区别?恕我直言,我不会关注 size ,只有表现
PAR不会隐藏任何东西,你想要如果你想知道哪些文件被打包,如果它们被剥去了pod等等,你所要做的就是看看里面unzip -d foo foo.exe
FWIW,AFAIK,尺寸没有变化,所以你必须使用很多很多模块。