首先确保你编译的Lua是支持链接外部动态链接库的。因为在对Redis进行访问时是需要使用socket通信的,
而这依赖于外部的C语言写的动态连接库。
首先,这里先下载Redis的Lua客户端访问包redis-lua,下载地址: https://github.com/nrk/redis-lua
下载之后,直接解压就行,下载的zip的话,可以使用unzip 压缩包 就可以了。
因为对Redis进行访问需要使用socket进行通信,所以需要下载Socket动态连接库
luasocket
下载压缩包 解压后,输入make进行构建,
然后输入make install进行安装,安装完成后,进入到redis-lua下进入到demo下面下,执行lua simple.lua
进行测试即可。
如果你的lua不支持动态链接库,则可以按照我上一篇的文章进行重新编译安装即可。
在Linux下编译Lua时,我一般都是使用的make generic,这样编译没有什么问题,运行lua的程序也都OK,但是,这样在加载外部的C动态
链接库,却总是报下面的错误
1 |
|
查找了半天资料,最后发现,如果是以make generic对Lua进行编译,是没法进行动态链接的。
所以可以选择以其他的平台参数,选择make linux进行编译的话,就可以加载外部的动态链接库,
但是在使用了make linux时会报缺少readline.h的错误,这样只要去readline的官网
下载最新的readline的压缩包 ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz
下载后,进入到压缩包下载到的目录下,
输入 tar -zxvf 压缩包
进入到解压后的目录下。输入./configure
等到./configure执行完成后,执行make命令
待make执行完成后,输入make install,注意执行这一步时一定要进入root权限下。
执行完成后再到lua源代码目录下执行make linux就可以了。
这个时候再去加载外部的动态链接库就会发现一切都OK了。