5

誰かがこれらを一緒に機能させることができましたか?5.2は正常に動作し、lua-redis(redis.lua)を見つけることができますが、ソケットモジュールの読み込みに失敗し、lua(LuaSocketバージョン2.0.2)では動作しないようです。これを機能させるためのヒントはありますか?

luasocketを作成しようとしましたが、完全に失敗します。これは、luaバージョン5.2が原因であると推測されます。

答えはlua5.1に戻すだけですか、それとも私が気付いていない別の修正がありますか?

4

1 に答える 1

4

LuaSocketの現在のリリースは、多くのLuaライブラリと同様に、Lua5.2をサポートしていません。Luaの場合、バージョンの2桁目の変更はメジャーリリースを示し、下位互換性は維持されません(非推奨の機能を再度有効にするためのコンパイルフラグを介した場合を除く)。

Lua 5.1は安定しており、5.2で追加された機能が必要でない限り、Lua5.1を使用しない特別な理由はありません。

とは言うものの、LuaSocketを含め、多くのライブラリが現在5.2互換になるように更新されています。ソースからコンパイルしてmakefileを微調整することに決めて満足している場合は、LuaSocketの5.2互換バージョンであるこのリポジトリを試してください。

Lua 5.2LUA_COMPAT_MODULEをコンパイルするには、このバージョンのLuaSocket用に定義されたLua5.2がビルドされている必要があることに注意してください。また、makefileを編集して、システムの正しいパスに合わせて調整する必要があります。

さらに3〜4か月かそこらを考えると、一般的なライブラリの多くは5.2互換になると思います。しかし、私の意見では、それが小さなものでない限り、プロジェクトを5.2からベースにするのは初期の段階だと思います。コードを5.2に移植することはそれほど難しくありません(特に、非推奨の機能に精通している場合は、5.1でそれらに過度に依存することを避けることができます-特にsetfenv()module())。

于 2012-03-17T03:14:00.993 に答える