2016-09-08 3 views
0

У меня проблема с подключением к серверу redis. Я установил redis-lua (2.0.4-1) и luasocket (3.0rc1-2) используя luarocks. Я только что запустил luarocks install redis-lua. Когда я называю redis.connect я получаю сообщение об ошибке:Сложность при подключении Lua к серверу redis

Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio 
> local redis = require 'redis' 
> local client = redis.connect('127.0.0.1', 6379) 
stdin:1: attempt to index global 'redis' (a nil value) 
stack traceback: 
     stdin:1: in main chunk 
     [C]: ? 
> 

И я понятия не имею, почему ...

+0

Вы прошли через документы: https://github.com/keplerproject/luarocks/wiki/Using-LuaRocks и проверили, что ваш LUA_PATH и т. Д. Правильно настроены? – nos

+0

Просто не используйте 'local' в интерпретаторе командной строки. – moteus

+0

Работает без «местных». Я просто попытался создать файл '.lua' и там он работает с' local' – clzola

ответ

0

Существует разница, когда вы выполняется в интерактивном режиме, или с помощью сценария. Когда в интерактивной оболочке lua переменные/время выполнения local ограничены определенным уровнем выполнения. Вот почему

local redis = require 'redis' 

предоставит вам переменную redis только в этой строке оператора. Вы должны были бы подключиться к серверу в том же строке заявления:

> local redis = require 'redis'; local client = redis.connect('127.0.0.1', 6379); -- so other statements 

В качестве альтернативы, в интерактивном режиме, просто не использовать local сферы.

Смежные вопросы