2012-03-16 15 views
5

¿Alguien ha podido conseguir que funcionen juntos? He obtenido 5.2 funcionando muy bien, y puede encontrar lua-redis (redis.lua), pero falla al cargar el módulo de socket, que parece que no puedo trabajar con lua (LuaSocket versión 2.0.2). ¿Alguien tiene algún consejo para que esto funcione?LuaSocket, Lua 5.2 y Redis

He intentado hacer luasocket, sin embargo, falla por completo, lo que supongo se debe a mi versión de lua 5.2.

¿Es la respuesta solo para volver a lua 5.1, o hay otra solución que no conozco?

Respuesta

4

La versión actual de LuaSocket, como muchas bibliotecas de Lua, no es compatible con Lua 5.2. Para Lua, los cambios en el segundo dígito de la versión indican las principales versiones, y la compatibilidad con versiones anteriores no se mantiene (excepto en algunos casos a través de indicadores de compilación para volver a habilitar las características en desuso).

Lua 5.1 es estable y no hay ninguna razón en particular para no usarlo a menos que necesite una característica que se agregó en 5.2.

Dicho esto, muchas bibliotecas se actualizan actualmente para que sean compatibles con 5.2, incluido LuaSocket. Si está decidido y feliz de compilar a partir de los archivos make de origen y de ajuste, intente this repository, que es una versión 5.2 compatible de LuaSocket.

Tenga en cuenta que Lua 5.2 debe haberse construido con LUA_COMPAT_MODULE definido para esta versión de LuaSocket para compilar con él. También deberá editar los archivos make para ajustar las rutas correctas en su sistema.

Dado otros 3-4 meses más o menos y creo que muchas de las bibliotecas comunes serán 5.2 compatibles. Sin embargo, en mi opinión, a menos que sea algo pequeño, creo que es temprano para basar los proyectos en 5.2. Pasar el código a 5.2 en la línea no es tan difícil (especialmente si se familiariza con el deprecated features, por lo que puede evitar depender demasiado de ellos en 5.1, especialmente setfenv() y module()).

+0

Gracias por confirmar mis sospechas :) –