2011-07-23 7 views
5

lua -e "de impresión (package.path)"no LuaJIT ver las rocas instalados por LuaRocks

./?.lua;/usr/share/lua/5.1/?.lua;/usr/share /lua/5.1/?/init.lua;/usr/lib/lua/5.1/?.lua;/usr/lib/lua/5.1/?/init.lua

luajit -e "print (paquete. ruta) "

./?.lua;/usr/local/share/luajit-2.0.0-beta8/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/ local/share/lua/5.1 /?/init.lua

He intentado anexar el paquete .path de lua, sin embargo, no hay dados. LuaJIT parece que no puede encontrar ninguna de las rocas, es extraño. ¿Qué debería hacer aquí?

+0

¿Ha instalado las rocas como root? –

Respuesta

1

Dos sugerencias:

1. Install rocks as root to get them in /usr/local 
2. Use ldconfig to update shared library cache 

Ejemplo:

[email protected]:~$ sudo luarocks install lsqlite3 
[sudo] password for e: 
Installing http://luarocks.org/repositories/rocks/lsqlite3-0.8-1.src.rock... 
... 
lsqlite3 0.8-1 is now built and installed in /usr/local/ (license: MIT/X11) 
[email protected]:~$ sudo /sbin/ldconfig 
[sudo] password for e: 
[email protected]:~$ rlwrap luajit 
LuaJIT 2.0.0-beta8 -- Copyright (C) 2005-2011 Mike Pall. http://luajit.org/ 
JIT: ON CMOV SSE2 SSE3 ATOM fold cse dce fwd dse narrow loop abc fuse 
> require 'lsqlite3' 
> =sqlite3.version() 
3.7.7.1 
> os.exit() 
[email protected]:~$ 
+0

Gracias Doug, miré las otras sugerencias ... y todas parecían funcionar, pero no eran óptimas, ya que no quería modificar mi código o el paquete LuaJIT. –

4

Si ha instalado el módulo usando luarocks, pero no como root, palo: require 'luarocks.loader' antes de incluir el módulo y se debe incluirse sin el error.

+2

Gracias, eso solucionó mi problema. –

1

Antes de compilar LuaJIT, cambie LUA_ROOT de/usr/local a/usr en src/luaconf.h.

1

¿En una Mac? ¿Ejecutando brew?

Instalar lua51, que se empaqueta con luarocks alias, tal como luarocks-5.1:

brew install luajit lua51 
eval `luarocks-5.1 path --bin` # exports LUA_PATH, LUA_CPATH, PATH 
luarocks-5.1 install socket 
luajit -e 'print(require("socket"))' 
Cuestiones relacionadas