redis-lua 在 require 时返回 nil。

我是lua新手。我想从Lua访问redis。我已经下载了 https://github.com/nrk/redis-lua,并转到 /src 文件夹,在那里我可以看到文件 redis.lua。所以如果我启动Lua并尝试导入此文件,我会得到以下结果:

root@debian:/home/debian/redis-lua-master/src# ls
redis.lua
root@debian:/home/debian/redis-lua-master/src# lua
Lua 5.3.2  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> local r = require 'redis'
> r
nil

我的目标是运行这个样本:

local redis = require 'redis'
local client = redis.connect('127.0.0.1', 6379)
local response = client:ping()

但它失败了,因为redis变量为nil。我做错了什么?

谢谢。

点赞
用户5636775
用户5636775

通常这意味着库未安装(或未安装在正确的位置)。如果您使用基于 dpkg 的 Linux 发行版,则很有可能使用以下命令解决此问题:

apt-get install lua-redis

编辑:我刚刚看到您是在 Lua 控制台中执行此操作。不要在那里使用本地变量,因为它们只存在于作用域中,不会生存于下一次调用中。

redis = require 'redis'
client = redis.connect('127.0.0.1', 6379)
response = client:ping()

在正常的程序中,这应该可以工作。

2015-12-07 09:18:23