我在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"
,因为它可能会给您提供更好的错误消息。