2010-06-17 6 views
10

Ich bin dabei, ein Programm zu verschieben, das derzeit einen Python-Interpreter enthält, um Lua zu verwenden. Mit Python ist es relativ einfach, modulefinder, compileall und zipfile zu verwenden, um einen schönen aufgeräumten Zip zu erstellen, der alle verwendeten externen Bibliotheken enthält.Wie verteile ich Lua und Bibliotheken am besten?

Hat Lua die Fähigkeit, seine Bibliotheken so zu bündeln, oder gibt es eine bessere Best Practice für die Verteilung von Programmen, die Lua einbetten?

Antwort

8

Wie es bei Lua typisch ist, gibt es keinen Standard und viele Leute rollen ihre eigenen. Es gibt Bemühungen, ein Paketverwaltungssystem namens Lua Rocks zu standardisieren, aber ich bin mir nicht sicher, wie viel Dynamik dahinter steckt oder wie ausgereift es ist. (Im Jahr 2008 war es nicht ganz fertig für die Prime Time, aber die Dinge könnten sich geändert haben.)

Ich selbst bin sehr Low-Tech: wenn ich etwas verteilen möchte, ich nur meine Lua-Quellen in C-Dateien und verknüpfen sie in mit der Binärdatei. Das Finden und Konvertieren aller Module könnte für mich ein wenig mühsam sein, aber für meine Benutzer ganz einfach. Sie müssen nicht einmal wissen, dass Lua involviert ist. Ich habe eine copy of my lua2c script bei Pastebin gebucht. Ich habe die Möglichkeit zu kompilieren, aber ich kompiliere im Allgemeinen nicht, weil die Ergebnisse nicht portierbar sind und weil der Lua-Compiler sowieso so schnell ist.

Es wäre schön, etwas automatisierter zu haben. Ich denke, es würde wahrscheinlich einige Tage dauern, ein gutes Tool zu schreiben und zu debuggen.

Menschen auf der Lua mailing list werden sicherlich mehr wissen.

+0

Ich wünschte, ich könnte dies noch einmal für einen Link zum Quellcode hinzufügen. – chicks

4

Wenn es rein Lua ist, können Sie auch prüfen, squish

mit Es ist ein Tool, das alle Lua-Quelldateien in eine einzige Datei packt, mit Optionen, um es zu gzip/minify.

+0

Um den Lua-Code zu minimieren, können Sie auch ['luamin'] (http://mths.be/luamin) verwenden, das als Binärdatei zur Verwendung in Shell-Skripten und als npm-Modul verfügbar ist. Online-Demo: http://mothereff.in/lua-mitifier –

Verwandte Themen