安装lua套接字时出错



我在linux系统中使用lua 5.1。我使用本手册安装了luasocket 2.0.2。但是当我执行test.lua

文件的下面代码时
socket = require("socket")
print(socket._VERSION)

得到以下错误:

lua: ./usr/local/share/lua/5.1/socket.lua:14: loop or previous error loading module 'socket'
stack traceback:
    [C]: in function 'require'
    ./usr/local/share/lua/5.1/socket.lua:14: in main chunk
    [C]: in function 'require'
    test.lua:1: in main chunk
    [C]: ?

但是我已经包括了环境变量,如下所示:

LUA_PATH=/usr/local/share/lua/5.1/?.lua;?.lua
LUA_CPATH=/usr/local/lib/lua/5.1/?.so;?.so

当您在require调用中有循环时,您通常会得到此错误,例如,当您执行require "socket"并从该模块再次执行require "socket"时,在第一个require调用完成之前。

检查socket.lua文件中的第14行。它应该有类似local socket = require("socket.core")的东西(而不是require("socket"))。要检查问题是否与加载socket.core有关,请尝试在自己的脚本中执行require "socket.core",因为它可能会给您提供更好的错误消息。

最新更新