lua -e“ print(package.path)”

./? lib/lua/5.1/?/init.lua

luajit -e“ print(package.path)”

./? /?/init.lua

我已经尝试在lua的软件包上附加。Path,虽然没有骰子。卢阿吉特似乎只是找不到任何岩石,这很奇怪。我应该在这里做什么?

有帮助吗?

解决方案

两个建议:

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

例子:

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:~$ 

其他提示

如果您使用luarocks安装了模块,但不是root,请坚持:require 'luarocks.loader'在包含模块之前,应包含该模块,而不会出错。

在Mac上?跑步 brew?

安装 lua51, ,包装 luarocks 混叠为 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"))'

在编译Luajit之前,请将lua_root从 /usr /local更改为 /usr,in src /luaconf.h。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top