【问题标题】:Error while installing lua socket安装 lua 套接字时出错
【发布时间】:2014-06-06 01:50:00
【问题描述】:

我在linux系统中使用lua 5.1。我使用这个manual安装了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

【问题讨论】:

    标签: sockets error-handling path lua


    【解决方案1】:

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

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

    【讨论】:

    • bt 现在出现错误“从文件 '/usr/local/lib/lua/5.1/socket/core.so': /usr/local/lib 加载模块 'socket.core' 时出错/lua/5.1/socket/core.so:未定义符号:luaL_getmetatable"
    • 您可能需要检查这个 SO 问题和第一个答案:stackoverflow.com/questions/8361437/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 2018-09-03
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多