2012-03-16 20 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をサポートしていません。バージョンの2桁目のLua変更はメジャーリリースを示し、後方互換性は維持されません(非推奨機能を再び有効にするためのコンパイルフラグによる場合を除く)。

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

つまり、多くのライブラリは現在、LuaSocketを含む5.2互換にアップデートされています。あなたがソースからコンパイルしてmakefilesを調整することができたら、this repositoryを試してください。これはLuaSocketの5.2互換バージョンです。

このバージョンのLuaSocketをコンパイルするには、Lua 5.2がLUA_COMPAT_MODULEで定義されている必要があります。また、システム上の正しいパスに合わせてmakefileを編集する必要があります。

さらに3〜4ヶ月が与えられれば、多くの一般的なライブラリは5.2互換になると思います。しかし、私の意見では、それが小さなものでなければ、私はプロジェクトを5.2から外すことは早い時期だと思う。コードを5.2に移植することはそれほど難しくありません。特に、deprecated featuresに慣れていれば、5.1にあまりに多く依存することは避けられます(特にsetfenv()module())。

+0

私の疑惑を確認していただきありがとうございます:) –

関連する問題