Una cosa frecuente en Lua para las librerias es usar un directrio de la
siguiente forma: en vez de tener 'lumen.lua', se tiene un directorio y
adentro un init.lua, así: 'lumen/init.lua'.
Como se buscan las librerias está controlado por la variable
package.path. Eso le dice al intérprete en qué directorio y con qué path
intentar cargar los modulos (es la lista que ven intentar y fallar en su
ejecución). Pueden fijarese como lo usan los scripts de test (ubicados
en el directrio lumen/test/, por lo que tienen que ir a buscar a lumen
un directorio mas arriba).
Si quieren buscar primero adentro del directorio actual, y luego un
nivel mas arriba pueden setear los directorios de búsqueda de la
siguiente manera:
package.path = package.path .. ";;;?/init.lua;../?.lua;../?/init.lua"
Eso va hacer que 'require xxx' intente (despues de los paths estandar
tipo /usr/lib, etc) con
xxx/init.lua
../xxx.lua
../xxx/init.lua
Jorge