Tag: luarocks

  • Lua包管理工具Luarocks是干什么的?

    Lua包管理工具Luarocks是干什么的?

    1. Luarocks是什么? 2. Luarocks有什么用?     lua这种解释性的语言,其代码的运行必须要有一个运行环境才行,这个运行环境就是能够解释代码的代码解释器——-虚拟机,就像java,ruby,go语言之类一样,都要由虚拟机来解释执行其代码,Lua这种解释性的语言自然也需要这种虚拟机了。上一篇介绍的,lua环境的搭建,其实就是在做一件事情—-编译出lua的虚拟机。     任何一门语言都有很多的依赖库,包括编译型的语言和解释性的语言都一样,需要库函数来支持其功能的扩展或者是功能的完备性实现。像ruby就有很多的gem包,这个gem包就是ruby这门解释性语言的库。     Lua程序的运行,也需要很多的库函数的支持,例如网路函数库、字符串处理函数库等等。在lua的虚拟机执行lua程序的时候,如果遇到require “XXXXX”,那么虚拟机就知道要去相应的地方去找这个包(库函数的集合),那么去哪里寻找呢?这个寻找路径如果是绝对路径,那么虚拟机自然可以找到,但是如果只是一个包名,那么虚拟机就要依赖于一个找寻路径规则来找寻该包了,类似于C语言中的INCLUDE_PATH这个机制。这个虚拟机默认的找寻路径可以在编译虚拟机的时候设置,也就是在搭建lua运行环境的时候来设置这个路径,在下载下来的lua虚拟机的源代码中,有一个.h文件,叫做luaconf.h,这个文件里面有很多配置虚拟机属性的配置项,这里面有一个宏定义叫做LUA_PATH_DEFAULT,它就是lua的虚拟机去找寻lua包的路径,还有一个路径就是LUA_CPATH_DEFAULT,它是告诉lua虚拟机去找寻C动态库的路径。     结论:lua的执行不仅需要虚拟机,还需要依赖一些库(lua叫做包),虚拟机会根据一套路径找寻规则来找这些包。     既然有包,那根据我们的不同需求,就会有很多的包,这些包辣么多,有些要升级,有些要删除,有些要降级之类的等等,有一些包还有依赖关系,非常麻烦。。。。这样的话,对这些包的管理这个新的需求就出现了—-管理lua的包。so,Luarocks就出现了,它就是专门管理lua的包的一种工具——-包管理器。它可以帮助我们下载、查找、删除我们需要的包,一句话,帮助我们方便地管理这些lua的依赖包。 什么是Luarocks:     Luarocks是一个Lua包管理器,基于Lua语言开发,提供一个命令行的方式来管理Lua包依赖、安装第三方Lua包等,社区比较流行的包管理器之一,另还有一个LuaDist,Luarocks的包数量比LuaDist多。 源码安装部署Luarocks     wget http://luarocks.org/releases/luarocks-2.2.2.tar.gz     tar zxvf luarocks-2.2.2.tar.gz     cd luarocks-2.2.2     ./configure –help configure help查看所支持的安装配置,这里我们主要关注以下两个 –prefix=DIR                    …