5

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

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

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

4

1 回答 1

4

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

Lua 5.1 是稳定的,没有特别的理由不使用它,除非您需要 5.2 中添加的功能。

也就是说,许多库目前正在更新为与 5.2 兼容,包括 LuaSocket。如果您确定并且乐于从源代码编译并调整 makefile,请尝试这个存储库,它是 LuaSocket 的 5.2 兼容版本。

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

再过 3-4 个月左右,我认为许多通用库将与 5.2 兼容。但是在我看来,除非它是小东西,否则我认为将项目基于 5.2 还为时过早。将代码移植到 5.2 并不难(特别是如果您熟悉已弃用的功能,这样您就可以避免在 5.1 中过多地依赖它们——尤其是setfenv()module())。

于 2012-03-17T03:14:00.993 回答