2012-03-16 45 views
5

有沒有人能夠一起工作?我已經得到了5.2的工作很好,它可以找到lua-redis(redis.lua),但是它無法加載套接字模塊,我似乎無法使用lua(LuaSocket版本2.0.2)。任何人有任何提示讓這個工作?LuaSocket,Lua 5.2和Redis

我試過做luasocket,但它完全失敗,我假設是由於我的lua版本5.2。

答案只是爲了回到lua 5.1,還是有另一個我不知道的修復?

回答

4

當前版本的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