我有一个目录:
-parent
-target
-current
-firstChild
-secondChild
我正在尝试将package.path从“secondChild”内部指向“target”以检索存储在那里的其他.lua文件夹。我目前有这个设置
package.path = package.path .. ';../?.lua;../?.lua;../?.lua;target/?.lua'
那找不到我要找的东西,我确信我的部分问题是我不理解所有的语法。 “; ../?。lua”对我说,我正在回到“firstChild”并检查是否有lua文件?
我在这里缺少什么?
答案 0 :(得分:1)
根据您的(更新的)目录结构,您需要../../../target/?.lua
中的package.path
来引用target
secondChild
文件夹中的模块。 ?.lua
将在secondChild
进行搜索,../?.lua
将在firstChild
进行搜索,../../?.lua
将在current
进行搜索,../../../?.lua
将在parent
和../../../target/?.lua
将在target
中进行搜索(假设当前目录为secondChild
,当您启动脚本并假设-
不是目录的一部分时名称)。让../?.lua
仅在secondChild
的父级中进行搜索并且target/?.lua
使搜索发生在secondChild/target/
文件夹中,该文件夹不存在。
当您尝试“需要”模块时获得的错误消息包括搜索检查的所有路径,这通常提供了如何修改搜索路径的线索。