Luaでモジュールをロードするとrequire
、パッケージ パスを使用してモジュールを探す場所が決定されます。Lua マニュアルのモジュールのセクションを見てください。具体的には、package.path
およびのセクションpackage.cpath
。
package.path: require が Lua ローダー (.lua モジュール)
を検索するために使用するパス package.cpath: require が C ローダー (.so/.dll モジュール) を検索するために使用するパス
現在のパスが何であるかを確認できます。
print(package.path..'\n'..package.cpath)
LuaSocket を現在のパッケージ パス内の場所にインストールすると、Lua はそれを見つけてロードできるはずです。
または、 を呼び出す前にパッケージ パスを変更できますrequire
。たとえば、プロジェクト用のフォルダーを作成し、libs
プロジェクト フォルダー内で呼び出されるサブフォルダーに LuaSocket ライブラリを抽出する場合:
Project
|
> libs
|
> lua
|
> socket
> socket
> mime
require
ソケット ライブラリ ( Linux の代わり)/?.dll
を使用する前に、プロジェクトに相対的なパッケージ パスを設定できます。/?.so
package.path = package.path..';./libs/lua/?.lua'
package.cpath = package.cpath..';./libs/socket/?.dll;./libs/mime/?.dll'
local socket = require 'socket'