Шаги по созданию кастомной версии luarocks

Есть библиотека luarocks, которую мне нужно настроить.

Допустим, я установил его, используя:

sudo luarocks install lua-abc

Если мне нужна собственная внутренняя пользовательская версия этой библиотеки, как я могу добавить ее на свой openresty сервер?

Загружает ли luarocks код с github, а затем сохраняет его в определенной папке? (если да, то какая папка?)

2 ответа

Это зависит от того, содержит ли пакет какие-либо внешние зависимости в виде библиотек C, затем он загружает файлы, компилирует их и копирует в путь по умолчанию. Обычно пути по умолчанию:

  • внешние библиотеки C /usr/local/lib/lua/5.*
  • библиотеки /usr/local/share/lua/5.*

камни загружаются в /usr/local/lib/luarocks/rocks/

LuaRocks действительно изменчив, когда дело доходит до использования ваших собственных исполняемых имен И вашего компилятора CC. Некоторые зависимости, такие как cmake, должны работать, поскольку LuaRocks загружает исходные тексты C и C++ для компиляции в разделяемые библиотеки, например, LuaSocket создаст файл core.so, которые требуют выполнит luaopen_libluasocket(lua_State* L); Функция, которая находится в файле.so.

Для того чтобы я мог использовать LuaRocks с LuaConsole (мое заменяющее CLI-приложение для lua.c и скоро будет luac.c), мне пришлось изменить фактические файлы после установки. Вот ссылка: https://github.com/tilkinsc/LuaConsole/wiki/LuaRocks-Support-Linux-GCC

По сути, суть в том, что LuaRocks по умолчанию использует вариант использования для разработчиков, а не обычный gi-joe. Так что давай и запустить свой ./configure который я не уверен, если он поддерживает --prefix=XXX Но тогда вам нужно отредактировать site_config_x_x.lua файл для добавления в site_config.LUA_INTERPRETER=[[luaw]] -- name of lua interpreter наряду с переключением фактического вызова к интерпретатору внутри скрипта luarocks. Эту конкретную часть лучше объяснить здесь: https://github.com/tilkinsc/LuaConsole/wiki/LuaRocks-Support-Windows-MinGW Где я буквально это сделал "luaw" "C:\Program Files (x86)\LuaRocks\luarocks.lua" "-n" %* вместо того, что бы они ни делали... а%* это все аргументы или все аргументы.

Затем, после того, как все это сказано и сделано, вам нужно установить LUA_CPATH и LUA_PATH для поиска ваших файлов. Это изменяется в зависимости от установки, но команда, чтобы выяснить это luarocks path --bin который выбрасывает это. Вы можете добавить его в LUA_INIT env var, если хотите, но я нахожусь в Windows и динамически устанавливаю свою собственную переменную пути, используя это: https://gist.github.com/tilkinsc/f6718ca61d76085b064c3dca02f96017 качестве альтернативы, вы можете установить package.path и package.cpath себя... но я не рекомендую.

LuaRocks великолепен, как только вы заставите его работать:D

sudo apt-get install build-essential
cd /usr/local/src/

Загрузите необходимый выпуск здесь.

tar -xvf luarocks-3.2.1.tar.gz
cd luarocks-3.2.1

./configure
make build
sudo make install
Другие вопросы по тегам