备注:

 
  大家在进行lapis 开发的时候有些人比较懒直接使用yum 按照luarocks,之后
  使用luarocks 安装lapis 一般来说对于linux 64位的环境都会有些问题(包找不到)
 
1. 错误提示信息
2017/11/18 09:54:09 [error] 21876#0: *1 lua entry thread aborted: runtime error: content_by_lua(nginx.conf.compiled:22):2: module 'lapis' not found:
no field package.preload['lapis']
no file '/usr/local/openresty/site/lualib/lapis.ljbc'
no file '/usr/local/openresty/site/lualib/lapis/init.ljbc'
no file '/usr/local/openresty/lualib/lapis.ljbc'
no file '/usr/local/openresty/lualib/lapis/init.ljbc'
no file '/usr/local/openresty/site/lualib/lapis.lua'
no file '/usr/local/openresty/site/lualib/lapis/init.lua'
no file '/usr/local/openresty/lualib/lapis.lua'
no file '/usr/local/openresty/lualib/lapis/init.lua'
no file './lapis.lua'
no file '/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/lapis.lua'
no file '/usr/local/share/lua/5.1/lapis.lua'
no file '/usr/local/share/lua/5.1/lapis/init.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/lapis.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/lapis/init.lua'
no file '/usr/local/openresty/site/lualib/lapis.so'
no file '/usr/local/openresty/lualib/lapis.so'
no file './lapis.so'
no file '/usr/local/lib/lua/5.1/lapis.so'
no file '/usr/local/openresty/luajit/lib/lua/5.1/lapis.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
coroutine 0:
[C]: in function 'require' 以及 2017/11/18 10:19:55 [error] 21973#0: *4 lua entry thread aborted: runtime error: /usr/local/share/lua/5.1/lapis/router.lua:3: module 'lpeg' not found:
no field package.preload['lpeg']
no file '/usr/local/openresty/site/lualib/lpeg.ljbc'
no file '/usr/local/openresty/site/lualib/lpeg/init.ljbc'
no file '/usr/local/openresty/lualib/lpeg.ljbc'
no file '/usr/local/openresty/lualib/lpeg/init.ljbc'
no file '/usr/local/openresty/site/lualib/lpeg.lua'
no file '/usr/local/openresty/site/lualib/lpeg/init.lua'
no file '/usr/local/openresty/lualib/lpeg.lua'
no file '/usr/local/openresty/lualib/lpeg/init.lua'
no file './lpeg.lua'
no file '/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/lpeg.lua'
no file '/usr/local/share/lua/5.1/lpeg.lua'
no file '/usr/local/share/lua/5.1/lpeg/init.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/lpeg.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/lpeg/init.lua'
no file '/usr/local/openresty/site/lualib/lpeg.so'
no file '/usr/local/openresty/lualib/lpeg.so'
no file './lpeg.so'
no file '/usr/local/lib/lua/5.1/lpeg.so'
no file '/usr/local/openresty/luajit/lib/lua/5.1/lpeg.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
coroutine 0:
[C]: in function 'require'
以及
2. 分析
从上面的错误提示可以看出,主要是包的问题,实际上报是已经安装了,原因64位操作系统,以及luarocks 默认安装包的
位置不是框架查找的地方
我们系统安装的位置:
lapis:
/usr/share/lua/5.1/lapis
lpeg:
/usr/lib64/lua/5.1/lpeg.so
3. 解方法
a. 不用yum 安装而是源码,可控性强,维护简单,参考相关文档
b. nginx.conf 添加 lua_path、lua_cpath 。。。 ,不太喜欢,费事
c. 配置luaroacks lua path 也是一种方法
d. 使用软连接
4. 实际解决(使用d,其他的参考相关文章)
ln -s /usr/lib64/lua /usr/local/lib/lua
ln -s /usr/share/lua/ /usr/local/share/lua
5, 参考文档
https://github.com/luarocks/luarocks/wiki/Installation-instructions-for-Unix#The_default_settings
 
 
 
 

luarocks yum 安装引起的lapis lua 包查找问题(centos7版本)的更多相关文章

  1. Linux之保留yum安装软件后的RPM包

    yum安装软件很方便,但是下载下来的rpm包在安装后默认会被删除掉: 如果希望保留yum安装的软件包该如何做呢? 设置方法: 将/etc/yum.conf里对应的keepcache参数改为1即可,然后 ...

  2. linux下yum安装jdk1.8(rpm包)和tomcat-8.5

    Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境 ========= 完美的分割线 ========= 0.java简介 1)tomcat运行需要对应的Java环境, ...

  3. Mysql的安装(二进制免编译包) 5.1版本

    一,Mysql的安装: 1.下载mysql,可以通过http://mirrors.sohu.com/下载mysql软件. wget http://mirrors.sohu.com/mysql/MySQ ...

  4. centos7.0 yum 安装php服务器

    https://blog.csdn.net/jiaoshenmo/article/details/50923900 首先收一下:centos7.0用yum直接安装apache.php他们的默认版本是a ...

  5. Linux下yum安装ffmpeg和使用

    本文属于转载文章:转载地址是http://www.cnblogs.com/dennisit/archive/2012/12/27/2835089.html 使用Yum安装ffmpeg 打开 vi /e ...

  6. [Linux系统] (3)应用安装方式详解(编译安装、rpm包安装、yum安装)

    软件的安装方式: 编译安装 RPM包安装 yum安装 一.编译安装 1.下载一个源码安装包:tengine-2.3.0.tar.gz.这是淘宝二次开发过的nginx.将其解压. .tar.gz 2.查 ...

  7. CentOS 下 rpm包与 yum 安装与卸载

    rpm包的安装:      1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安 ...

  8. RHEL5.8使用yum安装应用时包冲突的处理

    RHEL5.8使用yum安装应用时包冲突的处理办法记录,总体思路是如果发现包冲突的情形,那么就把冲突的包给删除掉,然后再重新使用yum安装即可. 冲突示例: Transaction Check Err ...

  9. Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区

    Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区 Lua包管理工具Luarocks详解

随机推荐

  1. 设计模式--迭代器模式C++实现

    迭代器模式C++实现 1定义 他提供一种方法访问一个容器对象中的各个元素,而不暴漏该对象内部细节 注:迭代器是为容器服务的.迭代器模式提供了遍历容器的方便性,容器只管理增减元素就好,需要遍历时交给迭代 ...

  2. 二十 Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器

    编写spiders爬虫文件循环抓取内容 Request()方法,将指定的url地址添加到下载器下载页面,两个必须参数, 参数: url='url' callback=页面处理函数 使用时需要yield ...

  3. nyoj38——最小生成树

    布线问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1.把所有 ...

  4. su | sudo su | sudo -i

    su <user> <user> <user> 需要输入user的密码,该命令改变user id,执行过后,以<user>中定义的用户运行shell,就 ...

  5. maven-surefire-plugin的forkMode分析

    Maven运行测试用例时,是通过调用maven的surefire插件并fork一个子进程来执行用例的.forkmode属性中指明是要为每个测试创建一个进程,还是所有测试在同一个进程中完成. <p ...

  6. ansible入门一(Ansible介绍及安装部署)

    本节内容: 运维工具 Ansible特性 Ansible架构图和核心组件 安装Ansible 演示使用示例 一.运维工具 作为一个Linux运维人员,需要了解大量的运维工具,并熟知这些工具的差异,能够 ...

  7. Find the odd int

    Given an array, find the int that appears an odd number of times. There will always be only one inte ...

  8. C++复习8.异常处理和RTTI

    C++异常处理和RTTI技术 20130930 1.异常处理的基本知识 C语言中是没有内置运行时错误处理机制,对于错误发生的时候使用的几种处理机制: 函数返回彼此协商后统一定义的状态编码来表示操作成功 ...

  9. 2017-2018-2 20165202 实验四《Android程序设计》实验报告

    一.实验报告封面 二.实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握Android中事件处理机制. ...

  10. Ubuntu下执行mysql的sql文件

    Ubuntu下执行mysql的.sql文件   方法一: 1.执行此命令,会提示输入mysql的root账户的密码,验证成功后,会在dbname这个数据库中执行filename.sql这个脚本,其中f ...