为什么lua需要韩元';不搜索当前目录?
假设我在为什么lua需要韩元';不搜索当前目录?,lua,lua-5.3,Lua,Lua 5.3,假设我在test.lua文件夹中有两个文件test.lua和m.lua,如下所示: require("m") 然后我运行此文件,但它会引发错误: lua: /Users/xx/works/scripts/test.lua:43: module 'm' not found: no field package.preload['m'] no file '/usr/local/share/lua/5.3/m.lua' no file '/usr/local/share/lua
test.lua
文件夹中有两个文件test.lua
和m.lua
,如下所示:
require("m")
然后我运行此文件,但它会引发错误:
lua: /Users/xx/works/scripts/test.lua:43: module 'm' not found:
no field package.preload['m']
no file '/usr/local/share/lua/5.3/m.lua'
no file '/usr/local/share/lua/5.3/m/init.lua'
no file '/usr/local/lib/lua/5.3/m.lua'
no file '/usr/local/lib/lua/5.3/m/init.lua'
no file './m.lua'
no file './m/init.lua'
no file '/usr/local/lib/lua/5.3/m.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './m.so'
正如您所看到的,no file./m.lua'
行出现,但这不是真的/m.lua
存在,并且文件权限内容正常。如果我硬编码路径:
package.path = package.path..';'..'/Users/xx/works/scripts/?.lua'
require('m')
它将按预期工作
当需要一个模块时,我应该怎么做才能使lua搜索当前目录(如python的导入)当前目录是启动lua的目录
在您的示例中缺少命令行,如果您使用了
lua test.lua
那么它应该工作,如果您使用了lua works/scripts/test.lua
那么它将不工作。test.lua
和m.lua
不在当前目录中,是吗?当前目录不是您的lua文件所在的目录。