LuaSocket,Lua 5.2和Redis

问题描述:

有没有人能够一起工作?我已经得到了5.2的工作很好,它可以找到lua-redis(redis.lua),但是它无法加载套接字模块,我似乎无法使用lua(LuaSocket版本2.0.2)。任何人有任何提示让这个工作?LuaSocket,Lua 5.2和Redis

我试过做luasocket,但它完全失败,我假设是由于我的lua版本5.2。

答案只是为了回到lua 5.1,还是有另一个我不知道的修复?

当前版本的LuaSocket,尽可能多的Lua库,不支持Lua 5.2。对于Lua版本第二位数字的更改表示主要版本,并且不保留向后兼容性(除非某些情况下通过编译标志重新启用已弃用的功能)。

Lua 5.1是稳定的,没有什么特别的理由不使用它,除非你需要一个在5.2中添加的特性。

也就是说,许多库目前正在更新为5.2兼容,包括LuaSocket。如果您确定并乐意从源代码和调整的makefiles进行编译,请尝试this repository,它是5.2兼容版本的LuaSocket。

请注意,Lua 5.2必须已经与此版本的LuaSocket定义的LUA_COMPAT_MODULE一起构建才能编译。您还需要编辑makefile以调整系统上的正确路径。

再过3-4个月左右,我想很多常用的库都是5.2兼容的。不过,在我看来,除非是小事,否则我认为现在是以5.2为基础的项目。将代码移植到5.2版本并不难(尤其是如果您熟悉deprecated features,那么可以避免在5.1中过多地依赖它们 - 尤其是setfenv()module())。

+0

谢谢你确认我的怀疑:) – 2012-03-17 04:26:31