无论是我过度还是失明.我想学习与Lua的联网,因此我必须安装socket lib,所以我可以轻松地要求它,但我不知道,我应该“需要”哪些文件.这个例子说:
local socket = require("socket")
但正如我所说,我不知道我应该包括哪些文件,如果我使用socket.lua它不起作用我得到:没有找到文件.
我从这里得到了lib:Lua socket download
解决方法
当您使用require Lua加载模块时,使用包路径来确定在哪里查找模块.看看Lua手册的
Modules部分.具体来说,有关package.path和package.cpath的部分.
package.path: The path used by require to search for a Lua loader (.lua modules)
package.cpath: The path used by require to search for a C loader (.so/.dll modules)
您可以检查当前路径是什么:
print(package.path..'\n'..package.cpath)
如果将LuaSocket安装到当前包路径中的某个位置,Lua应该能够找到并加载它.
或者,您可以在调用require之前修改程序包路径.例如,如果为项目创建文件夹并将LuaSocket库解压缩到项目文件夹中名为libs的子文件夹:
Project | > libs | > lua | > socket > socket > mime
您可以在需要套接字库之前设置相对于项目的包路径(在Linux上用/?.dll替换/?.so):
package.path = package.path..';./libs/lua/?.lua' package.cpath = package.cpath..';./libs/socket/?.dll;./libs/mime/?.dll' local socket = require 'socket'