2008-09-16 12 views
19

La gente también suele preguntar "¿Cómo puedo compilar Perl?" mientras que lo que realmente quieren es crear un ejecutable que pueda ejecutarse en máquinas incluso si no tienen instalado Perl.¿Cómo puedo empaquetar mi script Perl para que se ejecute en una máquina sin Perl?

hay varias soluciones, no conozco:

  1. perl2exe de IndigoStar Es comercial. Nunca intenté. Su sitio web dice que puede realizar una compilación cruzada de Win32, Linux y Solaris.
  2. Perl Dev Kit de ActiveState. Es comercial. Lo usé hace varios años en Windows y funcionó bien para mis necesidades. Según su sitio web, funciona en Windows, Mac OS X, Linux, Solaris, AIX y HP-UX.
  3. PAR o más bien PAR::Packer que es de fuente abierta y gratuita. Según los informes de prueba, funciona en Windows, Mac OS X, Linux, NetBSD y Solaris, pero teóricamente debería funcionar también en otros sistemas UNIX. Recientemente comencé a usar PAR para empaquetar en Linux y también lo usaré en Windows.

¿Otras soluciones recomendadas?

Respuesta

12

Además de las tres herramientas enumeradas en la pregunta, hay otra llamada Cava Packager escrita por Mark Dootson, quien también ha contribuido con PAR en el pasado. Solo se ejecuta en Windows, tiene una buena GUI de Wx y funciona de manera diferente a los tres contendientes típicos, ya que reúne todas las dependencias de Perl en un directorio de origen/lib en lugar de crear un solo archivo que contenga todo. Hay una versión gratuita, pero no es de código abierto. No he usado esto a excepción de las pruebas.

En cuanto a PAR, es realmente una caja de herramientas. Viene con una herramienta de empaquetado que hace el escaneo de dependencias y el ensamblaje de ejecutables independientes, pero también se puede usar para generar y usar los llamados archivos .par, en analogía a los JAR de Java. También viene con client y server para cargar automáticamente paquetes faltantes a través de la red, etc. El slides of my PAR talk en 2008 entra en más detalles sobre esto. También hay una lista de correo activa: par at perl dot org.

+2

Según la respuesta de cavapack y el sitio web de Cava, ahora también se ejecuta en Linux y OS X. – Andy

+0

¿Podría decirme cómo usar el paquete de cava – Balakumar

-3

Puede usar la herramienta perlcc que se envía con la mayoría de las distribuciones de Perl. También encontré que tanto el perl2exe como el kit Perl Dev de Active State son útiles para enviar aplicaciones Perl.

+1

perlcc realmente no funciona, y ha sido así durante mucho tiempo. PAR es el camino a seguir. – asksol

+2

perlcc en su mayoría no funciona (ver perldoc perlcc) y se ha eliminado de perl 5.10 – szabgab

1

Soy un novato en Perl y acabo de descargar Cava Packager y ese es el único que encontré trabajando. He probado ActiveState 5.10.1005 y Strawberry Perl con PAR-Packager en Windows XP. pp solo se cuelga en mitad del flujo y no se crean ejecutables.

Cava proporciona la única solución para crear exe en Windows hasta el momento. Thks.

+0

Fresa con pp trabajado para mí (4 años después de su respuesta). –

5

Hace algún tiempo que se hizo esta pregunta por primera vez, pero Cava Packager actualmente puede producir paquetes ejecutables para Windows, Linux y Mac OS X. Ya no es solo Windows.

Nota: Como mi nombre indica, estoy afiliado a Cava Packager.

Cuestiones relacionadas