2010-06-17 10 views
10

Sto cercando di spostare un programma che attualmente incorpora un interprete Python per usare Lua. Con Python è abbastanza facile usare modulefinder, compileall e zipfile per creare un bel file ordinato contenente tutte le librerie esterne utilizzate.Qual è il modo migliore per distribuire Lua e le librerie?

Lua ha la capacità di raggruppare le sue librerie in questo modo, o ci sono migliori best practice per distribuire programmi che incorporano Lua?

risposta

8

Come è tipico di Lua, non esiste uno standard e un sacco di gente tira il proprio. C'è uno sforzo per standardizzare su un sistema di gestione dei pacchetti chiamato Lua Rocks, ma non sono sicuro di quanto tempo ci sia dietro o di quanto sia maturo. (Nel 2008 non era ancora pronto per il prime time, ma le cose potrebbero essere cambiate.)

Io stesso sono molto low-tech: se voglio distribuire qualcosa, trasformo semplicemente le mie sorgenti Lua in file C e li collego in con il binario. Trovare e convertire tutti i moduli potrebbe essere un po 'noioso per me, ma la cosa più semplice per i miei utenti — non è nemmeno necessario sapere che Lua è coinvolta. Ho pubblicato uno copy of my lua2c script allo Pastebin. Ho la possibilità di compilare ma generalmente non compilo perché i risultati non sono portabili e perché il compilatore Lua è comunque veloce.

Sarebbe bello avere qualcosa di più automatico. Penso che probabilmente ci vorranno diversi giorni per scrivere e fare il debug di un buon strumento.

Le persone sullo Lua mailing list sapranno sicuramente di più.

+0

Vorrei poterlo riutilizzare nuovamente per includere un collegamento al codice sorgente. – chicks

4

Se si tratta di pura Lua, si potrebbe anche considerare l'utilizzo di squish

E 'uno strumento che racchiude tutti i file sorgente Lua in un singolo file, con la possibilità di gzip/minify esso.

+0

Per minimizzare il codice Lua, puoi anche usare ['luamin'] (http://mths.be/luamin) che è disponibile come binario per l'uso negli script di shell e come modulo npm. Demo online: http://mothereff.in/lua-minifier –

Problemi correlati