openresty package.path require 报错
生活随笔
收集整理的這篇文章主要介紹了
openresty package.path require 报错
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在文件中
package.path = '/usr/local/share/lua/5.1/?.lua;/usr/local/openresty/lualib/resty/?.lua;' package.cpath = '/usr/local/lib/lua/5.1/?.so;'執行
local mysql = require "mysql" --正確
local mysql = require "resty.mysql" --報錯
去掉 package.path = '/usr/local/share/lua/5.1/?.lua;/usr/local/openresty/lualib/resty/?.lua;' package.cpath = '/usr/local/lib/lua/5.1/?.so;'
local mysql = require "mysql" --報錯
local mysql = require "resty.mysql" --正確
package.path 的默認路徑指向哪的呢?
去掉?package.path,在頁面中 隨便引用一個不存在的模塊 比如 require 'aa'
查看nginx錯誤日志返回
no field package.preload['aa']no file '/usr/local/openresty/lualib/aa.lua'no file '/usr/local/openresty/lualib/aa/init.lua'no file './aa.lua'no file '/usr/local/openresty/luajit/share/luajit-2.1.0-alpha/aa.lua'no file '/usr/local/share/lua/5.1/aa.lua'no file '/usr/local/share/lua/5.1/aa/init.lua'no file '/usr/local/openresty/luajit/share/lua/5.1/aa.lua'no file '/usr/local/openresty/luajit/share/lua/5.1/aa/init.lua'no file '/usr/local/openresty/lualib/aa.so'no file './aa.so'no file '/usr/local/lib/lua/5.1/aa.so'no file '/usr/local/openresty/luajit/lib/lua/5.1/aa.so'no file '/usr/local/lib/lua/5.1/loadall.so'發現 ?/usr/local/openresty/lualib/aa.lua 難道默認的路徑是?/usr/local/openresty/lualib 于是在頁面中加入
package.path = '/usr/local/share/lua/5.1/?.lua;/usr/local/openresty/lualib/resty/?.lua;/usr/local/openresty/lualib/?.lua;'package.cpath = '/usr/local/lib/lua/5.1/?.so;'
ngx.say(package.path)
執行正確
新手~~ 勿怪
?
轉載于:https://www.cnblogs.com/wangxusummer/p/4325281.html
總結
以上是生活随笔為你收集整理的openresty package.path require 报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Boot Camp 驱动
- 下一篇: 中国专利申请CPC客户端软件问题解决方案