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

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

对于这些繁琐,LuaRocks 可以简化以上安装 Lua 模块的操作。 LuaRocks 是 Lua 模块的安装和部署工具,类似于 Ruby gemPython egg Perl cpan,它可以很方便的安装第三方 Lua 模块,而且你不需要关心模块之间的依赖关系,一条命令就可以很轻松地把模块安装部署好,省心,省力,不用去折腾安装 Lua 模块的细节。

安装 LuaRocks

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

1
brew install luarocks - v

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

1
2
3
4
5
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》

使用 LuaRocks

LuaRocks 也不是什么模块都能安装得到,它只汇集了一些比较出名的常用的第三方 Lua 模块。它有一个可安装的 Lua 模块列表,如果被安装的 Lua 模块在这个可安装列表里,那么就可以用 LuaRocks 来安装部署。

它的用法跟 Homebrew 差不多,例如想安装一个解析 JSON(JavaScript Object Notation) 的模块,可以用 search 参数先搜索一下有什么可安装的解析 JSON 的模块:

1
luarocks search json

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

1
luarocks install json4lua

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 参数:

1
luarocks show json4lua

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

1
luarocks list

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

1
luarocks remove json4lua

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

1
luarocks --help
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值