Cannot find any built-in modules when writing code in subdirectories
luvit version: 2.17.0 luvi version: v2.10.1 rex version: 8.37 2015-04-28 libuv version: 1.34.1 ssl version: OpenSSL 1.1.1d 10 Sep 2019, lua-openssl 0.7.7
os:macOS 10.15.7 (19H2)
directories xxx/luas cluster/mq.lua main.lua
cluster/mq.lua local core = require("core")
main.lua package.path = module.dir .. "/?.lua;" .. package.path local mq = require("cluster/mq")
cd xxx/luas luvit main.lua
error: module 'core' not found: no field package.preload['core'] no file './core.lua' no file '/usr/local/share/luajit-2.1.0-beta3/core.lua' no file '/usr/local/share/lua/5.1/core.lua' no file '/usr/local/share/lua/5.1/core/init.lua' no file './core.so' no file '/usr/local/lib/lua/5.1/core.so' no file '/usr/local/lib/lua/5.1/loadall.so' stack traceback: [C]: in function 'error' [string "bundle:deps/require.lua"]:279: in function 'require' [string "xxx/luas/main.lua:10: in function 'fn' [string "bundle:deps/require.lua"]:310: in function 'require' [string "bundle:/main.lua"]:118: in function 'main' [string "bundle:/init.lua"]:49: in function <[string "bundle:/init.lua"]:47> [C]: in function 'xpcall' [string "bundle:/init.lua"]:47: in function 'fn' [string "bundle:deps/require.lua"]:310: in function <[string "bundle:deps/require.lua"]:266>
I think this is an issue with
local mq = require("cluster/mq")
Try changing it to
local mq = require("./cluster/mq")
Yeah, looks like https://github.com/luvit/luvit/issues/857#issuecomment-500247790