当 Lua 文件都在同一个文件夹中时,LuaEdit 找不到模块

标签 lua

我下载了 LuaEdit 以用作 IDE 和调试工具,但是即使是最简单的事情我也无法使用它。我创建了一个包含 2 个文件的解决方案,所有这些文件都存储在同一个文件夹中。我的文件如下:

--startup.lua

require("foo")

test("Testing", "testing", "one, two, three")


--foo.lua

foo = {}

print("In foo.lua")

function test(a,b,c) print(a,b,c) end

这在我的 C++ 编译器中通过一些嵌入代码访问时工作正常,但是当我尝试在 LuaEdit 中使用相同的代码时,它在第 3 行 require("foo") 崩溃错误说明:
module 'foo' not found:
no field package.preload['foo']
no file 'C:\Program Files (x86)\LuaEdit 2010\lua\foo.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\lua\foo\init.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\foo.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\foo\init.lua'
no file '.\foo.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\foo.dll'
no file 'C:\Program Files (x86)\LuaEdit 2010\loadall.dll'
no file '.\battle.dll'

我还尝试在将这些文件添加到解决方案之前创建这些文件,但仍然出现相同的错误。我缺少一些设置吗?拥有一个 IDE/调试器会很棒,但如果它不能运行链接函数,它对我来说毫无用处。

最佳答案

问题可能是您的 Lua 文件不在 package.path 中的路径上。 (对于 C 文件,这是 package.cpath )。

我的猜测是 LuaEdit 程序没有在你的文件所在的目录中启动,因此不匹配例如 .\foo.lua。 .

您有 3 个简单的解决方案(从愚蠢到聪明):

  • 找出 LuaEdit 认为的 ./路径,并将文件放在那里。
  • 在正确的目录(包含您的文件的目录)中打开一个终端,然后从那里运行 LuaEdit。
  • 将文件所在的路径添加到 package.path package.cpath 在做任何事情之前require
  • 关于当 Lua 文件都在同一个文件夹中时,LuaEdit 找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866477/

    相关文章:

    c++ - 使用可变参数模板从 Lua 函数回调 (C api) 中提取参数

    string - 尝试调用字符串值

    c - 恢复 Lua 线程(协程)时如何处理错误

    python - redis:每天重置计数器

    nil 类型的 Lua 条件

    lua - 如何捕获elua(即NodeMCU)中的错误

    尝试编译 lua 文件时出现 gcc 错误

    iphone - 如何将 iPhone-Wax 嵌入到应用程序中

    lua - 碰撞过滤器的行为不符合预期

    android - 降低速度值 LUA