没有不值得去解决的问题,也没有不值得去学习的技术!

在 Windows 10 下的 OpenResty ,报错:module ‘lib.redis’ not found: no field package.preload[‘lib.redis’]

查看 Nginx 日志文件,morefunresty.dev.chinamcloud.cn.error.log,module 'lib.redis' not found: no field package.preload['lib.redis']。
1、运行 lua 程序,报错:500 Internal Server Error openresty/1.19.9.1。如图1
运行 lua 程序,报错:500 Internal Server Error openresty/1.19.9.1
图1
2、查看 Nginx 日志文件,morefunresty.dev.chinamcloud.cn.error.log,module ‘lib.redis’ not found: no field package.preload[‘lib.redis’]。如图2
查看 Nginx 日志文件,morefunresty.dev.chinamcloud.cn.error.log,module 'lib.redis' not found:no field package.preload['lib.redis']。
图2


2021/09/22 17:13:14 [error] 39648#39764: *272 lua entry thread aborted: runtime error: E:/wwwroot/msi_main/resty/app/mods/draw/prizes.lua:10: module 'lib.redis' not found:
	no field package.preload['lib.redis']
	no file './site/lualib/lib\redis.ljbc'
	no file './site/lualib/lib\redis/init.ljbc'
	no file './lualib/lib\redis.ljbc'
	no file './lualib/lib\redis/init.ljbc'
	no file './site/lualib/lib\redis.lua'
	no file './site/lualib/lib\redis/init.lua'
	no file './lualib/lib\redis.lua'
	no file './lualib/lib\redis/init.lua'
	no file '.\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lua\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lua\lib\redis\init.lua'
	no file './site/lualib/lib\redis.so'
	no file './lualib/lib\redis.so'
	no file '.\lib\redis.dll'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib\redis.so'
	no file 'C:\openresty-1.19.9.1-win64\lib\redis.dll'
	no file 'C:\openresty-1.19.9.1-win64\loadall.dll'
	no file './site/lualib/lib.so'
	no file './lualib/lib.so'
	no file '.\lib.dll'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib.so'
	no file 'C:\openresty-1.19.9.1-win64\lib.dll'
	no file 'C:\openresty-1.19.9.1-win64\loadall.dll'
stack traceback:
coroutine 0:
	[C]: in function 'require'
	E:/wwwroot/msi_main/resty/app/mods/draw/prizes.lua:10: in main chunk, client: 127.0.0.1, server: morefunresty.dev.chinamcloud.cn, request: "GET /lua/api/draw/prizes?act_id=a0535444-283c-481e-9bcd-b0673a28f3ca HTTP/1.1", host: "morefunresty.dev.chinamcloud.cn"
2021/09/22 17:13:16 [error] 39648#39764: *273 lua entry thread aborted: runtime error: E:/wwwroot/msi_main/resty/app/mods/draw/prizes.lua:10: module 'lib.redis' not found:
	no field package.preload['lib.redis']
	no file './site/lualib/lib\redis.ljbc'
	no file './site/lualib/lib\redis/init.ljbc'
	no file './lualib/lib\redis.ljbc'
	no file './lualib/lib\redis/init.ljbc'
	no file './site/lualib/lib\redis.lua'
	no file './site/lualib/lib\redis/init.lua'
	no file './lualib/lib\redis.lua'
	no file './lualib/lib\redis/init.lua'
	no file '.\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lua\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lua\lib\redis\init.lua'
	no file './site/lualib/lib\redis.so'
	no file './lualib/lib\redis.so'
	no file '.\lib\redis.dll'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib\redis.so'
	no file 'C:\openresty-1.19.9.1-win64\lib\redis.dll'
	no file 'C:\openresty-1.19.9.1-win64\loadall.dll'
	no file './site/lualib/lib.so'
	no file './lualib/lib.so'
	no file '.\lib.dll'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib.so'
	no file 'C:\openresty-1.19.9.1-win64\lib.dll'
	no file 'C:\openresty-1.19.9.1-win64\loadall.dll'
stack traceback:
coroutine 0:
	[C]: in function 'require'
	E:/wwwroot/msi_main/resty/app/mods/draw/prizes.lua:10: in main chunk, client: 127.0.0.1, server: morefunresty.dev.chinamcloud.cn, request: "GET /lua/api/draw/prizes?act_id=a0535444-283c-481e-9bcd-b0673a28f3ca HTTP/1.1", host: "morefunresty.dev.chinamcloud.cn"



3、编辑 Nginx 文件,添加 lua_package_path,以配置 openresty 的文件寻址路径


# set search paths for pure Lua external libraries (';;' is the default path):
lua_package_path 'E:/wwwroot/msi_main/resty/app/common/lib/?.lua;;';

server {
}


4、重启 Nginx 服务器后,仍然报同样的错误。查看 Nginx 日志,新增一行:no file ‘E:/wwwroot/msi_main/resty/app/common/lib/lib\redis.lua’,确认 ?.lua 被替换为:lib\redis.lua,自动增加了一级目录:/lib


2021/09/22 18:47:41 [error] 42716#42404: *304 lua entry thread aborted: runtime error: E:/wwwroot/msi_main/resty/app/mods/draw/prizes.lua:10: module 'lib.redis' not found:
	no field package.preload['lib.redis']
	no file 'E:/wwwroot/msi_main/resty/app/common/lib/lib\redis.lua'
	no file './site/lualib/lib\redis.ljbc'
	no file './site/lualib/lib\redis/init.ljbc'
	no file './lualib/lib\redis.ljbc'
	no file './lualib/lib\redis/init.ljbc'
	no file './site/lualib/lib\redis.lua'
	no file './site/lualib/lib\redis/init.lua'
	no file './lualib/lib\redis.lua'
	no file './lualib/lib\redis/init.lua'
	no file '.\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lua\lib\redis.lua'
	no file 'C:\openresty-1.19.9.1-win64\lua\lib\redis\init.lua'
	no file './site/lualib/lib\redis.so'
	no file './lualib/lib\redis.so'
	no file '.\lib\redis.dll'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib\redis.so'
	no file 'C:\openresty-1.19.9.1-win64\lib\redis.dll'
	no file 'C:\openresty-1.19.9.1-win64\loadall.dll'
	no file './site/lualib/lib.so'
	no file './lualib/lib.so'
	no file '.\lib.dll'
	no file 'C:\openresty-1.19.9.1-win64\lualib\lib.so'
	no file 'C:\openresty-1.19.9.1-win64\lib.dll'
	no file 'C:\openresty-1.19.9.1-win64\loadall.dll'
stack traceback:
coroutine 0:
	[C]: in function 'require'
	E:/wwwroot/msi_main/resty/app/mods/draw/prizes.lua:10: in main chunk, client: 127.0.0.1, server: morefunresty.dev.chinamcloud.cn, request: "GET /lua/api/draw/prizes?act_id=a0535444-283c-481e-9bcd-b0673a28f3ca HTTP/1.1", host: "morefunresty.dev.chinamcloud.cn"


5、编辑 Nginx 文件,添加 lua_package_path,以配置 openresty 的文件寻址路径,删除:/lib


# set search paths for pure Lua external libraries (';;' is the default path):
lua_package_path 'E:/wwwroot/msi_main/resty/app/common/?.lua;;';

server {
}


6、运行 lua 程序,不再报错。如图3
运行 lua 程序,不再报错。
图3

需要长期技术维护或远程问题排查?

我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。

如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:

  • ✅ PHP / Laravel / Yii2 老项目无人维护
  • ✅ Go / Gin 后端接口需要排查或优化
  • ✅ WordPress 网站访问慢、报错或插件冲突
  • ✅ Nginx / MySQL / Redis / Linux 服务器异常
  • ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
  • ✅ 需要长期远程技术支持或兼职维护

更多介绍请查看:关于我 & 合作

微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理