LuaSocket, Lua 5.2 и Redis - PullRequest
       26

LuaSocket, Lua 5.2 и Redis

5 голосов
/ 16 марта 2012

Кто-нибудь смог заставить их работать вместе?У меня 5.2 отлично работает, и он может найти lua-redis (redis.lua), однако он не загружает модуль сокета, который я не могу заставить работать с lua (LuaSocket версия 2.0.2).У кого-нибудь есть какие-либо советы, как заставить это работать?

Я пытался создать luasocket, однако он полностью не работает, что, я полагаю, связано с моей версией 5.2 lua.

Ответ только для возврата к lua ​​5.1, или есть другое исправление, о котором я не знаю?

1 Ответ

4 голосов
/ 17 марта 2012

Текущая версия LuaSocket, как и многие библиотеки Lua, не поддерживает Lua 5.2. Для Lua изменения во второй цифре версии указывают на основные выпуски, и обратная совместимость не поддерживается (за исключением некоторых случаев с помощью флагов компиляции для повторного включения устаревших функций).

Lua 5.1 стабилен, и нет особой причины не использовать его, если вам не нужна функция, добавленная в 5.2.

Тем не менее, многие библиотеки в настоящее время обновляются до совместимости с 5.2, включая LuaSocket. Если вы полны решимости и готовы компилировать из исходного файла и настроить файлы сборки, попробуйте этот репозиторий , который является 5.2-совместимой версией LuaSocket.

Обратите внимание, что Lua 5.2 должен быть собран с LUA_COMPAT_MODULE, определенным для этой версии LuaSocket для его компиляции. Вам также нужно будет отредактировать make-файлы, чтобы скорректировать правильные пути в вашей системе.

Учитывая еще 3-4 месяца или около того, и я думаю, что многие общие библиотеки будут совместимы с 5.2. Однако, по моему мнению, если это не мелочи, я думаю, что сейчас рано начинать проекты с 5.2. Портировать код на 5.2 ниже не сложно (особенно если вы знакомитесь с устаревшими функциями , поэтому в 5.1 вы можете избежать слишком большой зависимости от них - особенно setfenv() и module()).

...