Lua: Установите камень, используя luarocks из локально установленного камня (или из.zip/.tar.gz)

Я охотился вокруг, но я не мог определить, возможно ли это.

По сути, http://luarocks.org/ не работает, и у меня уже есть копия luafilesystem, установленная здесь на другой машине. С помощью Ruby можно перекрестно устанавливать гемы ruby ​​с помощью команды 'gem' локально. Мне интересно, возможно ли то же самое с камнями и луароками?

Есть ли какой-нибудь способ "перекрестной установки" скалы (например, luafilesystem), используя другую локальную установку этой скалы?

Что-то вроде:

luarocks install //10.0.1.123/machine/path/to/luafilesystem/on/other/machine

это то, что я хотел бы сделать.

ОБНОВЛЕНИЕ: Я даже был бы счастлив, как установить камень из.tar.gz или.zip, например, если бы я скачал одно из изображений из этого места (в случае LuaFileSystem).

В этом случае "источник" для установки будет / может быть локальным для машины, а не удаленным (и не обязательно уже будет установлен как скала).

3 ответа

Решение

LuaRocks имеет pack подкоманда, которая создаст двоичный рок (zip-файл, содержащий все файлы для установленного модуля). Вы можете использовать этот двоичный файл для установки того же модуля на другом компьютере, учитывая, что архитектура соответствует.

Например

luarocks pack luafilesystem

производит luafilesystem-1.6.2-2.linux-x86_64.rock на моей машине, и

luarocks install luafilesystem-1.6.2-2.linux-x86_64.rock

переустановит luafilesystem без подключения к интернету необходимо.

Если у вас есть исходный zip-архив, вы можете распаковать его и указать luarocks на файл rockpec. Вот как я установил "вылетел" из источника.

git clone https://github.com/Olivine-Labs/busted.git
luarocks install busted/busted-1.3-1.rockspec

Или установите его прямо из источника

cd busted
luarocks make

Если кто-то хочет установку из локального исходного кода.

Просто сделай это:

cd /path/to/source-rock
luarocks make source-rock.rockspec

НОТА:

использование make вместо install, Причина здесь (цитируется ниже).

LuaRocks предлагает это:

make Скомпилируйте пакет в текущем каталоге, используя rockpec.

install Установите камень.

Тем не мение, install не использует настоящую марку. Он пытается загрузить и перекомпилировать тот же пакет с сервера, а не тот, который я настроил локально.

Есть ли способ обойти это?

make Команда фактически соберет и установит ваши индивидуальные настройки. Я знаю, что плохой выбор имен порой вызывает путаницу.

Другие вопросы по тегам