【发布时间】:2014-10-25 11:19:19
【问题描述】:
我在Linux Mint上安装了luarocks包,之后又安装了sudo luarocks install telescope等几个rocks,但是通过lua script.lua运行脚本时,require找不到模块。
Meta:采用这种问答方式,因为虽然存在可以回答这个问题的问题,但似乎没有一个问题是通用标题或容易找到的,我希望我可以帮助某人。
【问题讨论】:
我在Linux Mint上安装了luarocks包,之后又安装了sudo luarocks install telescope等几个rocks,但是通过lua script.lua运行脚本时,require找不到模块。
Meta:采用这种问答方式,因为虽然存在可以回答这个问题的问题,但似乎没有一个问题是通用标题或容易找到的,我希望我可以帮助某人。
【问题讨论】:
在这种特定情况下,问题只是在我的发行版中,安装的默认 Lua 版本是在编写此 5.2 时,而 LuaRocks 包是为 5.1 构建的,这意味着 Lua 5.2 无法找到由于为模块使用不同的路径。
问题的解决方案是从其github repository 下载 LuaRocks 源代码,并为 5.2 编译它
./configure --lua-version=5.2
make build
sudo make install
为了确保我也可以为 LuaJIT 安装软件包,目前它使用 5.1 库,我还预先使用 lua-version=5.1 执行了上述行(如果我在之后执行它们,默认的 luarocks 命令将指向在 5.1 版本中。
要构建 LuaRocks,您需要 liblua5.2-dev 和/或 liblua5.1-dev
【讨论】:
我的解决方案是这样的。
我试试
eval "$(luarocks path)"
它有效。
希望它对其他人有用。
【讨论】: