2016-09-08 1 views
0

J'ai un problème de connexion au serveur Redis. J'ai installé redis-lua (2.0.4-1) et luasocket (3.0rc1-2) en utilisant luarocks. Je viens de courir luarocks install redis-lua. Quand j'appelle redis.connect j'obtiens l'erreur:Difficulté de connexion de Lua au serveur 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]: ? 
> 

Et je ne sais pas pourquoi ...

+0

Avez-vous parcouru les documents ici: https://github.com/keplerproject/luarocks/wiki/Using-LuaRocks et vérifié que votre LUA_PATH et similaire sont correctement configurés? – nos

+0

N'utilisez pas 'local' dans l'interpréteur de ligne de commande. – moteus

+0

Fonctionne sans 'local'. Je viens d'essayer de faire un fichier '.lua' et ça marche avec' local' – clzola

Répondre

0

Il y a une différence lorsque vous exécuter en mode interactif, ou via un script. Lorsque vous êtes dans un shell lua interactif, vos variables/runtime local sont limitées à ce niveau d'exécution particulier. C'est pourquoi

local redis = require 'redis' 

vous fournira la variable redis uniquement dans cette ligne d'instruction. Il faudrait se connecter au serveur en même ligne d'instruction:

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

Sinon, en mode interactif, il suffit de ne pas utiliser local portée.