Lua:使用当地安装的岩石(或.zip/.tar.gz)使用luarocks安装岩石

lik*_*sky 8 lua luarocks

我一直在寻找,但我无法确定这是否可行.

基本上,http://luarocks.org已经关闭了,我已经在这里本地安装了另一台机器上的luafilesystem副本.使用Ruby,可以在本地使用'gem'命令交叉安装ruby gems.我想知道岩石和蜥蜴是否可能相同.

有没有办法通过使用该岩石的另一个本地安装来"交叉安装"岩石(例如,luafilesystem)?

就像是:

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

是我希望能够做到的.

更新:我甚至很乐意与如何从名为.tar.gz或.zip安装一块岩石上,举例来说,如果我下载一个图像从这个位置(在LuaFileSystem的情况下).

在这种情况下,安装的"源"将是/可能是机器的本地,而不是远程(并且不一定已经安装为摇滚).

Rob*_*ler 23

如果您有源zip,则可以将其解压缩并将luarocks指向rockspec文件.这是我从源头安装"破坏"的方法.

git clone https://github.com/Olivine-Labs/busted.git
luarocks install busted/busted-1.3-1.rockspec
Run Code Online (Sandbox Code Playgroud)

或者直接从源代码安装它

cd busted
luarocks make
Run Code Online (Sandbox Code Playgroud)


qun*_*qun 8

如果有人想要从本地源摇滚安装.

这样做:

cd /path/to/source-rock
luarocks make source-rock.rockspec
Run Code Online (Sandbox Code Playgroud)

注意:

make而不是install.原因在这里(引用如下).

LuaRocks提供:

make 使用rockspec在当前目录中编译包.

install 安装一块岩石.

但是,install不使用现在的品牌.它尝试从服务器下载并重新编译相同的包,而不是我在本地自定义的包.

这有什么方法吗?

make命令实际上将构建并安装您自定义的rockspec.我知道,糟糕的命名选择会时不时地引起混乱.


sif*_*joe 6

LuaRocks有一个pack子命令,它将创建一个二进制摇滚(包含已安装模块的所有文件的zip文件).鉴于架构匹配,您可以使用该二进制摇滚在另一台计算机上安装相同的模块.

例如

luarocks pack luafilesystem
Run Code Online (Sandbox Code Playgroud)

产生luafilesystem-1.6.2-2.linux-x86_64.rock我的机器上,并

luarocks install luafilesystem-1.6.2-2.linux-x86_64.rock
Run Code Online (Sandbox Code Playgroud)

将重新安装luafilesystem,无需互联网连接.