lua中使用packagepath解决多个项目的路径冲突问题

 更新时间:2015年04月21日 09:34:36   投稿:junjie  
这篇文章主要介绍了lua中使用packagepath解决多个项目的路径冲突问题,本文描述了问题的产生环境和原因,并给出了解决方法,需要的朋友可以参考下

当多个lua项目在同一台服务器中有多个文件的文件名相同时,会优先使用路径中的排在前的项目的文件,导致引用的文件并不是你预期的那样。

例如:有项目A和项目B,都有一个文件test.lua,而test.lua这个文件在项目A和项目B内容都是不一样的,如果nginx的配置中,lua的packagepath是把项目A放在了前面。那么项目B在引用test.lua的时候,会使用了项目B的test.lua文件,这就导致了错误的出现。

那要如何解决这个问题呢?

我们可以在各自的项目中,重新定义packagepath。这样就避免了路径冲突的问题。

例子:

复制代码 代码如下:

local p = "/diska/htdocs/work/"
local m_package_path = package.path
package.path = string.format("%s?.lua;%s?/init.lua;%s", p, p, m_package_path)

相关文章

  • Lua教程(二):C++和Lua相互传递数据示例

    Lua教程(二):C++和Lua相互传递数据示例

    这篇文章主要介绍了Lua教程(二):C++和Lua相互传递数据示例,本文主要讲解了基本数据类型的传递,比如整形(int)、字符串(string)、数字(number)及bool值,需要的朋友可以参考下
    2014-09-09
  • Lua游戏开发教程之时区问题详解

    Lua游戏开发教程之时区问题详解

    时间显示问题说白了就是时差问题,这篇文章主要给大家介绍了关于Lua游戏开发教程之时区问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Lua元表与元方法实例讲解

    Lua元表与元方法实例讲解

    这篇文章主要介绍了Lua元表与元方法实例讲解,本文讲解了算术类、关系类元方法、table访问的元方法等内容,需要的朋友可以参考下
    2014-09-09
  • Redis教程(五):Set数据类型

    Redis教程(五):Set数据类型

    这篇文章主要介绍了Redis教程(五):Set数据类型,本文讲解了Set数据类型概述、相关命令、命令使用示例、应用范围等内容,需要的朋友可以参考下
    2015-04-04
  • Lua中的迭代器和泛型for介绍

    Lua中的迭代器和泛型for介绍

    这篇文章主要介绍了Lua中的迭代器和泛型for介绍,任何一种结构,只要允许你遍历集合中所有元素的都可称之为迭代器,本文就讲解了Lua中迭代器的相关知识和代码实例,并讲解了泛型for的语法,需要的朋友可以参考下
    2015-04-04
  • Lua中的模块与module函数详解

    Lua中的模块与module函数详解

    这篇文章主要介绍了Lua中的模块与module函数详解,本文讲解了编写一个简单的模块、避免修改模块名的方法、模块名参数等内容,需要的朋友可以参考下
    2014-09-09
  • 编写高性能Lua代码的方法

    编写高性能Lua代码的方法

    这篇文章主要介绍了编写高性能Lua代码的方法,本文是基于Lua语言的创造者Roberto Ierusalimschy的一篇文章翻译改写而来,需要的朋友可以参考下
    2014-10-10
  • Lua中break语句的使用方法详解

    Lua中break语句的使用方法详解

    这篇文章主要介绍了Lua中break语句的使用方法详解,是Lua入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Lua中调用C++函数实例

    Lua中调用C++函数实例

    这篇文章主要介绍了Lua中调用C++函数实例,本文是Lua和C++通信系列文章的最后一篇,需要的朋友可以参考下
    2014-09-09
  • Lua table中安全移除元素的方法

    Lua table中安全移除元素的方法

    这篇文章主要介绍了Lua table中安全移除元素的方法,本文给出3种实现方法,分别是从后往前删除和while删除,需要的朋友可以参考下
    2015-06-06

最新评论