Lua 的模块安装和部署工具 - LuaRocks

Lua 是一个短小精悍的脚本语言,很多功能官方都不内置支持,需要添加第三方模块库来支持。但是,这些第三方模块是由不同开发者制作,分散的放在不同地方,如果想要安装一个模块还要到处去找,况且下载完模块后,有时还需要手动编译,设置环境变量,把模块放到指定的 Lua 模块加载目录。反正,安装一个第三方 Lua 模块需要执行上述一连串操作,也是一个繁琐的过程。

对于这些繁琐,LuaRocks 可以简化以上安装 Lua 模块的操作。 LuaRocks 是 Lua 模块的安装和部署工具,类似于

Ruby 的gem,Python 的egg 和Perl 的cpan,

它可以很方便的安装第三方 Lua 模块,而且你不需要关心模块之间的依赖关系,一条命令就可以很轻松地把模块安装部署好,省心,省力,不用去折腾安装 Lua 模块的细节。

1、安装 LuaRocks

喜闻乐见的是,Mac 下的

Homebrew 居然内置了 LuaRocks 的安装包(之前安装 Lua,用 "brew search lua" 搜 Lua 安装包时无意间发现),因此,在 Mac 下安装 LuaRocks 很简单,一条指令就行:

brew install

luarocks -v

用 Homebrew 安装 LuaRocks 的版本是 luarocks-2.0.12,不过当前最新发布的版本是 luarocks-2.0.13,如果你想安装最新版,或者是非 Mac 用户,也可以源代码自定义安装 LuaRocks:

wget http://luarocks.org/releases/luarocks-2.0.13.tar.gz

cd  luarocks-2.0.13

./configure

--prefix=/usr/local/luarocks/

--rocks-tree=/usr/local

--sysconfdir=/usr/local/etc/luarocks

make

make

install

"rocks-tree" 是指所要安装的 Lua 模块的默认安装目录,

"sysconfdir" 是指 LuaRocks 的配置文件存放的地方,更多的安装设置参数可以查看这里。

如果是在 Win 下安装 LuaRocks,可以参考官方的这篇介绍 --

《Installation instructions for Windows》

 

2、使用 LuaRocks

LuaRocks 也不是什么模块都能安装得到,它只汇集了一些比较出名的常用的第三方 Lua 模块。它有一个可安装的

Lua 模块列表,如果被安装的 Lua 模块在这个可安装列表里,那么就可以用 LuaRocks 来安装部署。

它的用法跟 Homebrew 差不多,例如想安装一个解析

JSON(JavaScript Object Notation) 的模块,可以用 search 参数先搜索一下有什么可安装的解析 JSON 的模块:

luarocks search json

 

假设想安装一个名为json4lua 模块,可以用 install 参数来安装:

luarocks install json4lua

上面指令执行完后,模块就安装好了。可以写个 JSON 字符串转 Lua table 的小例子来测试下模块是否安装成功

local
json = require("json")
local json_str = '{"key1" : "val1", "key2" : "val2", "key3" : "val3"}'
local json_tab = json.decode(json_str)
for k, v in pairs(json_tab)
do
    print(k, v)
end
--输出
--key1  val1
--key3  val3
--key2  val2
local
tab = {a = "b","c", 123, d = 456}
io.write(json.encode(tab) .."\n")

--输出
--{"1":"c","2":123,"a":"b","d":456}

把上面代码保存在一个 lua 文件里执行,如果运行无错,有数据在终端里输出,则模块安装成功。

如果想查看 json4lua 模块的信息,可以调用 show 参数:

luarocks show json4lua

或者查看已安装模块的列表

luarocks list

如果想卸载 json4lua 这个模块,可以用 remove 参数来操作:

luarocks remove json4lua

更多的命令参数用法可以查看:

luarocks --help



作者:幽澜先生
链接:https://www.jianshu.com/p/2200b5036de1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值