说我有两个文件test.lua
,m.lua
在一个文件夹中,test.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的导入)