Api 如何在构建中包含Lua模块

Api 如何在构建中包含Lua模块,api,module,lua,Api,Module,Lua,我下载了Lua模块并用make安装了它。但是,当我尝试在代码中使用它时,会出现以下错误: VirtualBox:~/Downloads$ lua socket_test.lua lua: socket_test.lua:1: module 'nixio.util' not found: no field package.preload['nixio.util'] no file './nixio/util.lua' no file '/usr/local/share/l

我下载了Lua模块并用make安装了它。但是,当我尝试在代码中使用它时,会出现以下错误:

VirtualBox:~/Downloads$ lua socket_test.lua 
lua: socket_test.lua:1: module 'nixio.util' not found:
    no field package.preload['nixio.util']
    no file './nixio/util.lua'
    no file '/usr/local/share/lua/5.1/nixio/util.lua'
    no file '/usr/local/share/lua/5.1/nixio/util/init.lua'
    no file '/usr/local/lib/lua/5.1/nixio/util.lua'
    no file '/usr/local/lib/lua/5.1/nixio/util/init.lua'
    no file '/usr/share/lua/5.1/nixio/util.lua'
    no file '/usr/share/lua/5.1/nixio/util/init.lua'
    no file './nixio/util.so'
    no file '/usr/local/lib/lua/5.1/nixio/util.so'
    no file '/usr/lib/i386-linux-gnu/lua/5.1/nixio/util.so'
    no file '/usr/lib/lua/5.1/nixio/util.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'
    no file './nixio.so'
    no file '/usr/local/lib/lua/5.1/nixio.so'
    no file '/usr/lib/i386-linux-gnu/lua/5.1/nixio.so'
    no file '/usr/lib/lua/5.1/nixio.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
    [C]: in function 'require'
    socket_test.lua:1: in main chunk
    [C]: ?
我的代码的第一行:

local nixio = require "nixio", require "nixio.util"
任何帮助都将不胜感激

我看到了这些选项:

  • 尝试
    makeinstall
    ,希望它能正常工作。也许可以设置一些变量,例如
    前缀
    nothing

  • 手动将
    dist/usr/local/share/lua/5.1/nixio
    移动到
    /usr/local/share/lua/5.1/nixio
    dist/usr/local/lib/lua/5.1/nixio.so
    /usr/local/lib/lua/5.1/nixio.so

  • dist
    路径添加到环境:
    LUA_CPATH='dist/usr/local/lib/LUA/5.1/?.so;'
    LUA_PATH='dist/usr/local/share/LUA/5.1/?.LUA;'

  • 在Lua:
    package.cpath='dist/usr/local/lib/Lua/5.1/?中添加
    dist
    路径。。package.cpath
    package.path='dist/usr/local/share/lua/5.1/?.lua;'。。package.path

  • 我看到这些选择:

  • 尝试
    makeinstall
    ,希望它能正常工作。也许可以设置一些变量,例如
    前缀
    nothing

  • 手动将
    dist/usr/local/share/lua/5.1/nixio
    移动到
    /usr/local/share/lua/5.1/nixio
    dist/usr/local/lib/lua/5.1/nixio.so
    /usr/local/lib/lua/5.1/nixio.so

  • dist
    路径添加到环境:
    LUA_CPATH='dist/usr/local/lib/LUA/5.1/?.so;'
    LUA_PATH='dist/usr/local/share/LUA/5.1/?.LUA;'

  • 在Lua:
    package.cpath='dist/usr/local/lib/Lua/5.1/?中添加
    dist
    路径。。package.cpath
    package.path='dist/usr/local/share/lua/5.1/?.lua;'。。package.path


  • nixio安装在哪里?我想它只是编译了它来的目录中的所有源文件。实际上,它创建了一个名为
    dist/usr/local/share/lua/5.1/nixio
    的目录,其中包含
    fs.lua
    util.lua
    ,它还创建了
    /dist/usr/local/lib/lua/5.1/nixio。那么
    在哪里呢安装了
    nixio
    吗?我想它只是编译了目录中的所有源文件,但实际上它创建了一个名为
    dist/usr/local/share/lua/5.1/nixio
    的目录,其中包含
    fs.lua
    util.lua
    的文件,还创建了
    /dist/usr/local/lib/lua/5.1/nixio。所以
    让它工作起来了!当我尝试执行
    makeinstall
    时,我必须手动创建目录
    /usr/local/share/lua/5.1
    /usr/local/lib/lua/5.1
    。然后我调用了
    sudo apt get remove lua5.2
    ,它似乎删除了我的lua5.2,但留下了一个5.1安装,似乎已经运行了。@ihf,Tom我已经完成了所有提到的步骤,但是我在步骤4中有一个疑问,我们应该在哪个lua文件上执行步骤4?开始运行了!当我尝试执行
    makeinstall
    时,我必须手动创建目录
    /usr/local/share/lua/5.1
    /usr/local/lib/lua/5.1
    。然后,我调用了
    sudo apt get remove lua5.2
    ,它似乎删除了我的lua5.2,但留下了一个5.1安装,似乎已经运行了。@ihf,Tom我已经完成了所有提到的步骤,但是我在步骤4中有一个疑问,我们应该在哪个lua文件上执行步骤4?