2016-09-08 1 views
0

redis 서버에 연결하는 데 문제가 있습니다. 내가 설치 한 redis-lua (2.0.4-1)luasocket (3.0rc1-2) luarocks를 사용합니다. 방금 luarocks install redis-lua을 실행했습니다. 내가 전화 할 때 redis.connect 나는 오류 얻을 :루아를 재발견 서버에 연결하기 어려움

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

'local'없이 작동합니다. 방금'.lua' 파일을 만들려고했는데 거기에'local'과 함께 작동합니다. – clzola

답변

0

. 대화식 루아 셸에서 local 변수/런타임은 해당 특정 실행 수준까지 범위가 지정됩니다. 따라서

local redis = require 'redis' 

은 해당 진술 라인에서만 redis 변수를 제공합니다. 당신은 동일한 명령문 라인에있는 서버에 연결해야 할 것 :

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

또는 대화 형 모드에서, 단지 local 범위를 사용하지 마십시오.