LuaJIT не видит камней, установленных LuaRocks

lua -e "печать (путь к пакету)"

./?.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/usr/lib/lua/5.1/?.lua;/usr/ библиотека / lua / 5.1 /? / init.lua

luajit -e "печать (путь к пакету)"

./?.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

Я пробовал добавить lua package.path, но без кубиков. LuaJIT просто не может найти никаких камней, это странно. Что мне здесь делать?


person Matthew Blanchard    schedule 23.07.2011    source источник
comment
Вы ставили камни как root?   -  person Doug Currie    schedule 24.07.2011


Ответы (4)


Два предложения:

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:~$ 
person Doug Currie    schedule 24.07.2011
comment
Спасибо, Дуг, я просмотрел другие предложения ... и все они выглядели так, как будто они работают, но были неоптимальными, так как я не хотел изменять свой код или пакет LuaJIT. - person Matthew Blanchard; 28.07.2011

Если вы установили модуль с помощью luarocks, но не как root, вставьте: require 'luarocks.loader' перед включением модуля, и он должен быть включен без ошибки.

person U319344    schedule 24.07.2011
comment
Спасибо, что устранили мою проблему. - person dan_waterworth; 27.12.2012

На 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"))'
person Garth Kidd    schedule 02.10.2015

Перед компиляцией LuaJIT измените LUA_ROOT с / usr / local на / usr в src / luaconf.h.

person Linus    schedule 25.07.2011