lua代码在require语句中失败

时间:2016-01-04 19:29:41

标签: module lua include

问题说明

我有一些我已经继承的代码,而且我正在尝试调试。它是一个用lua编写的后端Web应用程序。 系统现在失败,并显示以下错误:

  

398:尝试呼叫全球'要求' (零值)

代码

第398行是您在下面看到的必需声明..

getstatus = function()
        require("processinfo")
        local value,errtxt=processinfo.package_version(packagename)
        etc...

到目前为止我尝试过的事情:

  1. 我尝试过测试以确保它所寻找的软件包/模块存在。确实如此。它在我的lua lib文件夹中

    test-dev:/ usr / share#find / -name processinfo *

    /usr/share/lua/5.1/processinfo.lua

  2. 我还启动了lua命令行并尝试包含该模块,如下所示:

    test-dev:/ usr / share #lua  Lua 5.1.5版权所有(C)1994-2012 Lua.org,PUC-Rio

      

    需要(" processinfo&#34)

  3. 它看起来很开心,没有错误信息。

    1. 最后,我尝试将require语句从第398行移到文件的顶部,其余的include语句都是这样的......就像这样:

      模块(...,package.seeall) posix = require(" posix") utils = require(" utils") processinfo = require(" processinfo")

    2. 当我这样做时,关于require语句的错误消息消失了,但我收到了关于我调用的字符串函数的错误。错误消息是:

      139: attempt to index global 'string' (a nil value)
      

      第139行是while循环的开头,如下所示:

      while string.find(result, "%$[%w_]+") do
          -- do something
      end
      

      其他信息

      • Lua版本为5.1
      • 此代码正在另一台服务器上运行......

0 个答案:

没有答案