安装Lua套接字库

安装Lua套接字库

问题描述:

我可能过度或失明。我想学习与Lua联网,因此我必须安装socket库,所以我可以很容易地要求它,但我不知道,我应该“需要”哪些文件。这个例子说:安装Lua套接字库

local socket = require("socket") 

但正如我所说,我不知道哪些文件,我应该有,如果我用socket.lua它不工作,我得到:No files found

我从这里的lib:Lua socket download

或者,有另一种方式来安装插座的lib?

+3

是[安装说明?](http://w3.impa.br/~diego/software/luasocket/installation.html) – 2012-04-27 19:51:46

+0

可能是'#luarocks安装luaso cket'命令可以帮助你。 – 2017-11-02 23:27:04

当您使用require加载模块时,Lua使用包路径来确定在哪里查找模块。看看Lua手册中的Modules部分。具体而言,关于package.pathpackage.cpath的部分。

package.path:由所使用的路径需要以搜索一个Lua装载机(.lua模块)
package.cpath:由所使用的路径需要以搜索一个C加载程序(的.so/.DLL模块)

您可以检查一下当前的路径是:

print(package.path..'\n'..package.cpath) 

如果您安装LuaSocket到当前的包路径中的一个位置的Lua应该能够找到并加载它。

或者,您可以在调用require之前修改程序包路径。例如,如果您创建一个文件夹为您的项目并提取LuaSocket库项目文件夹中调用libs的子文件夹:

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' 

使用此命令在Linux系统上:

#luarocks install luasocket 

使用的下一个命令来查看路径配置

#luarocks 

您需要使用默认的Linux帐户(请参阅:配置):

$lua 
> socket = require ("socket") 

或使用本:

> socket = require 'socket'