Question

lua -e "print (package.path)"

./ ?. 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 (package.path)"

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

J'ai essayé de appending package.path de lua, pas de dés cependant. Luajit peut ne pas sembler juste pour trouver des roches, il est bizarre. Que dois-je faire ici?

Était-ce utile?

La solution

Deux suggestions:

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

Exemple:

e@eSammy:~$ 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)
e@eSammy:~$ sudo /sbin/ldconfig
[sudo] password for e:
e@eSammy:~$ 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()
e@eSammy:~$ 

Autres conseils

Si vous avez installé le module à l'aide luarocks, mais pas en tant que root, bâton: require 'luarocks.loader' avant d'inclure le module et il doit être inclus sans l'erreur.

Sur un Mac? Courir brew ?

Installer lua51, qui est emballé avec luarocks alias comme 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"))'

Avant de compiler luajit, changement LUA_ROOT de / usr / local / usr dans src / luaconf.h.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top