LuaSocket、Lua 5.2和Redis

5
有人能够使这些一起运作吗?我已经很好地让5.2运作,并且它可以找到lua-redis(redis.lua),但是它无法加载socket模块,我似乎不能让它与lua(LuaSocket版本2.0.2)一起工作。有人能提供一些技巧使其工作吗?
我尝试制作Luasocket,但是完全失败了,我认为这是由于我的lua版本5.2造成的。
答案是回退到lua 5.1,还是还有其他解决方法我不知道的?
1个回答

4
LuaSocket当前版本,像许多Lua库一样,不支持Lua 5.2。对于Lua的更改,版本的第二位数字表示主要发布版,不保持向后兼容性(除非通过编译标志重新启用弃用功能的某些情况)。
Lua 5.1是稳定的,没有特别的理由不使用它,除非您需要在5.2中添加的功能。
话虽如此,许多库目前正在更新为5.2兼容版本,包括LuaSocket。如果您决心并愿意从源代码编译并调整makefile,请尝试这个this repository,这是一个与5.2兼容的LuaSocket版本。
请注意,Lua 5.2必须已经定义了才能使用此版本的LuaSocket进行编译。您还需要编辑makefile以调整系统上的正确路径。

如果再给它3-4个月的时间,我认为许多常用库都将兼容5.2版本。但是在我看来,除非是一些小东西,否则现在还为时过早以5.2为基础开展项目。以后将代码移植到5.2不难(尤其是如果您熟悉弃用的功能,可以避免过度依赖它们在5.1中的使用情况 - 特别是setfenv()module())。


谢谢你确认了我的怀疑 :) - Jonathan Coe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接