Lua正在寻找5.2版本,但实际上安装的是5.1版本。

我遇到了module'lsqlite3'not found的错误,即使我使用luarocks install --local lsqlite3已经安装了它。

我在这个文件中可以看到,lsqlite3已经被安装在5.1而不是5.2上:~/.luarocks/lib/lua/5.1/lsqlite3.so

我应该如何让luarocks安装正确的版本?

错误跟踪:

*** lua: save_chat_history.lua:53: module 'lsqlite3' not found:
    no field package.preload['lsqlite3']
    no file '/usr/local/share/lua/5.2/lsqlite3.lua'
    no file '/usr/local/share/lua/5.2/lsqlite3/init.lua'
    no file '/usr/local/lib/lua/5.2/lsqlite3.lua'
    no file '/usr/local/lib/lua/5.2/lsqlite3/init.lua'
    no file '/usr/share/lua/5.2/lsqlite3.lua'
    no file '/usr/share/lua/5.2/lsqlite3/init.lua'
    no file './lsqlite3.lua'
    no file '/usr/local/lib/lua/5.2/lsqlite3.so'
    no file '/usr/lib/x86_64-linux-gnu/lua/5.2/lsqlite3.so'
    no file '/usr/lib/lua/5.2/lsqlite3.so'
    no file '/usr/local/lib/lua/5.2/loadall.so'
    no file './lsqlite3.so'

我使用从kubuntu中的apt-get安装的luarocks。我应该从源代码构建它并使用./configure --lua-version=5.2吗?

点赞
用户3677376
用户3677376

是的,官方仓库提供的 LuaRocks 只支持 Lua 5.1。如果您想使用不同版本或甚至多个 Lua 版本的 LuaRocks,您需要从源代码安装 LuaRocks。

除了 --lua-version=5.2,在 Ubuntu 上您可能还需要使用 --lua-suffix=5.2。其他默认值应该可以正常工作。

2015-07-26 21:10:43