备注:

 
  大家在进行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. Java输出double类型中的最小正数和最大正数

    这是<写给大忙人看的java核心技术>中的一道练习题. 1. 输出最大正数值 System.out.println(Double.MAX_VALUE); 直接输出包装类Double的MAX ...

  2. 转载--httpclient原理和应用

    https://blog.csdn.net/wangpeng047/article/details/19624529/ 多谢大神的分享

  3. iOS Layout机制相关方法

    iOS Layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size - (void)sizeToFit ——————- - (void)layoutSubview ...

  4. 转载:【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  5. 七、dbms_rowid(用于在PL/SQL程序和SQL语句中取得行标识符)

    1.概述 作用:用于在PL/SQL程序和SQL语句中取得行标识符(rowid)的信息并建立ROWID,通过该包可以取得行所在的文件号,行所在文件的数据块号,行所在数据块的行号,以及数据库对象号等消息. ...

  6. Prism5.0开发人员指南内容(纯汉语版)

    Prism指南包含以下内容: 下载并安装Prism Prism5.0新内容 介绍 初始化应用程序 组件间的依赖管理 模块化应用程序开发 实现MVVM模式 进击的MVVM 组合式用户界面 导航 松耦合组 ...

  7. background-size: contain 与cover的区别,以及ie78的兼容写法

    一:background-size: contain 与cover的区别: 作用: 都是将图片以**相同宽高比**缩放以适应整个容器的宽高. 不同之处在于: 1.  在no-repeat情况下,如果容 ...

  8. CocoaPods Mac App的安装和使用

    CocoaPods桌面应用版下载地址:https://cocoapods.org/app打开应用会提示你是否安装命令行工具,选择install就也可以在命令行使用Pod了.省去了上面的步骤们,方便快捷 ...

  9. 为什么叫金拱门- golden arch

    不要再纠结为什么叫这么难理解的名字了.因为从golden arch直译过来的撒.金色的拱门.就叫金拱门咯. 关于M的商标的历史来源如下: "McDonald's logo" red ...

  10. zookeeper数据一致性与paxos算法

    数据一致性与paxos算法 据说Paxos算法的难理解与算法的知名度一样令人敬仰,所以我们先看如何保持数据的一致性,这里有个原则就是: 在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执 ...