Как я могу упаковать свой Perl script для запуска на машине без Perl?
Люди также часто спрашивают: "Как я могу скомпилировать Perl?" в то время как они действительно хотят создать исполняемый файл, который может работать на машинах, даже если у них нет установленного Perl.
Есть несколько решений, о которых я знаю:
- perl2exe от IndigoStar
Это коммерческий. Я никогда не пробовал. Его веб-сайт говорит, что он может перекрещивать компиляцию Win32, Linux и Solaris.
- Perl Dev Kit от ActiveState.
Это коммерческий. Я использовал его несколько лет назад в Windows, и он работал хорошо для моих нужд. Согласно его веб-сайту, он работает на Windows, Mac OS X, Linux, Solaris, AIX и HP-UX.
- PAR или, скорее, PAR:: Packer который является бесплатным и открытым исходным кодом. Основываясь на отчетах об испытаниях, он работает в Windows, Mac OS X, Linux, NetBSD и Solaris, но теоретически он должен работать и с другими системами UNIX.
Недавно я начал использовать PAR для упаковки в Linux и будет использовать его также в Windows.
Другие рекомендуемые решения?
Ответы
Ответ 1
В дополнение к трем инструментам, перечисленным в вопросе, есть еще один, называемый Cava Packager, написанный Марком Дотсоном, который также внес свой вклад в PAR в прошлом. Он работает только под Windows, имеет хороший графический интерфейс Wx и работает по-другому от типичных трех соперников, поскольку он собирает все зависимости в Perl в каталоге source/lib вместо создания единого архива, содержащего все. Там бесплатная версия, но это не Open Source. Я не использовал это, кроме как для тестирования.
Что касается PAR, это действительно инструментарий. Он поставляется с инструментом для упаковки, который выполняет сканирование зависимостей и сборку автономных исполняемых файлов, но его также можно использовать для создания и использования так называемых файлов .par по аналогии с Java JAR. Он также поставляется с client и server для автоматически загружая отсутствующие пакеты по сети и т.д. слайды моей беседы PAR в YAPC:: EU 2008 подробнее об этом.
Также есть активный список рассылки: par at perl dot org.
Ответ 2
Это время, когда этот вопрос был задан, но Cava Packager в настоящее время может создавать исполняемые пакеты для Windows, Linux и Mac OS X. Это больше не только Windows.
Примечание. Как указано моим именем, я являюсь аффилированным лицом с Cava Packager.
Ответ 3
Я новичок в Perl, и я только что загрузил Cava Packager и тот единственный, с которым я нашел работу. Я пробовал ActiveState 5.10.1005 и Strawberry Perl с PAR-Packager в Windows XP.
pp просто зависает в середине потока и не создается исполняемых файлов.
Cava предоставляет единственное решение для создания exe в Windows до сих пор. Thks.
Ответ 4
Вы можете использовать инструмент perlcc
, который поставляется с большинством дистрибутивов Perl. Я также обнаружил, что набор perl2exe
и Active State Perl Dev полезен для доставки приложений Perl.