LuaSocket,Lua 5.2和Redis

有人能够让它们一起正常工作吗?我已经成功地使用 5.2,并且它能找到 lua-redis(redis.lua),但是它在加载 socket 模块时失败了,我似乎无法让它与 lua(LuaSocket 版本 2.0.2)一起工作。有人有什么提示来让这个工作起来吗?

我已经尝试制作 luasocket,但它完全失败了,我想这是由于我的 lua 版本 5.2。

答案只是回退到 lua 5.1,还是还有其他解决方法我不知道?

原文链接 https://stackoverflow.com/questions/9739688

点赞
stackoverflow用户15996
stackoverflow用户15996

当前发布的 LuaSocket 版本,和许多 Lua 库一样,不支持 Lua 5.2。对于 Lua 的更改,版本的第二位数字表示重大发布,并且不保留向后兼容性(除了一些通过编译标志重新启用弃用特性的情况)。

Lua 5.1 稳定可靠,并且没有特别的理由不使用它,除非你需要在 5.2 中添加的功能。

也就是说,许多库目前正在更新为 5.2 兼容版本,包括 LuaSocket。如果你决定从源代码编译并修改 makefile,可以尝试使用 此存储库,该版本是 LuaSocket 的 5.2 兼容版本。

请注意,Lua 5.2 必须已构建并定义了 LUA_COMPAT_MODULE 才能使用这个版本的 LuaSocket 进行编译。你还需要编辑 makefile,以调整你的系统上的正确路径。

再过 3 到 4 个月左右,我认为许多常见的库将支持 5.2。然而,在我看来,除非是小的项目,否则使用 5.2 还为时过早。将代码移植到 5.2 并不难(尤其是如果你熟悉弃用的特性,这样你就可以在 5.1 中避免过度依赖它们,特别是 setfenv()module())。

2012-03-17 03:14:00