安装lua socket时出现错误。

我在 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
点赞
用户1442917
用户1442917

通常在 require 调用中存在循环的情况下,例如,在执行 require "socket" 时,会再次从该模块执行 require "socket",而第一个 require 调用尚未完成时,就会出现此错误。

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

2014-06-05 17:50:00