我在 Linux Mint 上安装了 luarocks 包,然后安装了一些岩石,例如 sudo luarocks install telescope ,但是当通过 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

关于linux - Lua 在 Linux 上找不到 LuaRocks 安装的模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25602265/

10-09 22:55