有没有人能让它们一起工作?我得到了5.2,它工作得很好,它可以找到lua-redis (redis.lua),但是它无法加载套接字模块,我似乎不能使用lua (LuaSocket版本2.0.2)。有没有人有什么建议可以让它工作呢?
我试过做luasocket,但是它完全失败了,我想这是由于我的lua版本5.2。
答案就是恢复到Lua5.1,还是有其他我不知道的修复方法?
发布于 2012-03-17 11:14:01
当前版本的LuaSocket和许多Lua库一样,不支持Lua5.2。对于Lua,版本的第二个数字中的更改表示主要发布,并且不维护向后兼容性(除了在某些情况下通过编译标志重新启用不推荐使用的功能)。
Lua 5.1是稳定的,除非你需要5.2中添加的特性,否则没有特别的理由不使用它。
也就是说,许多库目前正在更新以兼容5.2,包括LuaSocket。如果您决心并乐于从源代码编译并调整生成文件,请尝试this repository,它是LuaSocket的5.2兼容版本。
请注意,Lua5.2必须是使用为此版本的LuaSocket定义的LUA_COMPAT_MODULE构建的,才能使用它进行编译。您还需要编辑makefile以调整系统上的正确路径。
再过3-4个月左右,我认为许多通用库将与5.2兼容。然而,在我看来,除非它是小东西,否则我认为现在基于5.2的项目还为时过早。把代码移植到5.2版本并不难(特别是如果你熟悉了deprecated features,这样你就可以避免在5.1版本中过度依赖它们--尤其是setfenv()和module())。
https://stackoverflow.com/questions/9739688
复制相似问题