2010-06-17 14 views
10

Estoy buscando mover un programa que actualmente incorpora un intérprete de Python para usar Lua. Con Python es bastante fácil de usar modulefinder, compileall y zipfile para hacer un bonito zip ordenado que contenga todas las bibliotecas externas utilizadas.¿Cuál es la mejor forma de distribuir Lua y bibliotecas?

¿Tiene Lua la capacidad de agrupar sus bibliotecas de esa manera, o hay alguna mejor práctica recomendada para distribuir programas que incorporan Lua?

Respuesta

8

Como es típico con Lua, no hay un estándar único y mucha gente lo hace. Hay un esfuerzo para estandarizar en un sistema de administración de paquetes llamado Lua Rocks, pero no estoy seguro de cuánto ímpetu hay detrás o cuán maduro es. (En 2008 no estaba listo para el horario de mayor audiencia, pero las cosas pueden haber cambiado.)

Yo mismo soy de muy baja tecnología: si quiero distribuir algo, simplemente convierto mis fuentes de Lua en archivos C y los vinculo en con el binario Encontrar y convertir todos los módulos puede ser un poco tedioso para mí, pero lo más fácil para mis usuarios — ni siquiera necesitan saber que Lua está involucrado. He publicado un copy of my lua2c script en Pastebin. Tengo la opción de compilar, pero generalmente no compilo porque los resultados no son portátiles y porque el compilador de Lua es tan rápido de todos modos.

Sería bueno tener algo más automatizado. Creo que probablemente tomará varios días escribir y depurar una buena herramienta.

Las personas en el Lua mailing list seguramente sabrán más.

+0

Ojalá pudiera volver a votar esto por incluir un enlace al código fuente. – chicks

4

Si es pura Lua, también puede considerar el uso de squish

Es una herramienta que los paquetes de todos los archivos fuente de Lua en un solo archivo, con opciones a gzip/minify ella.

+0

Para minificar el código Lua, también puede usar ['luamin'] (http://mths.be/luamin) que está disponible como un binario para usar en scripts de shell y como un módulo npm. Demostración en línea: http://mothereff.in/lua-minifier –

Cuestiones relacionadas