Lua - 将包路径直接指向父文件夹中的另一个文件夹

我已经有一个目录结构:

-parent
   -target
   -current
        -firstChild
            -secondChild

我正在尝试从"secondChild"内部将我的package.path指向"target",以获取存储在那里的其他 .lua 文件夹。我目前设置的内容如下:

package.path = package.path .. ';../?.lua;../?.lua;../?.lua;target/?.lua'

这并不能找到我要找的东西,我确信问题的一个部分是我不理解所有的语法。";../?.lua"对我来说,是说我要回到"firstChild",检查是否有lua文件?

我在这里缺少什么?

点赞
用户1442917
用户1442917

给定您(已更新)的目录结构,您需要在package.path中具有../../../target/?.lua 来从secondChild文件夹引用target文件夹中的模块。?.lua将在secondChild中查找,../?.lua将在firstChild中查找,../../?.lua将在current中查找,../../../?.lua将在parent中查找,而../../../target/?.lua将在target中查找(假设在启动脚本时您的当前目录是secondChild,并且也假设“-”不是目录名称的一部分)。只有具有../?.lua,才能使搜索发生在secondChild的父目录中,并且具有target/?.lua 将使搜索发生在secondChild / target/文件夹中,而这个文件夹不存在。

当您尝试“require”模块时,您会收到一个错误消息,其中包含搜索过的所有路径,这通常提供了如何修改搜索路径的提示。

2015-01-30 19:16:25