使用luarocks从本地安装的rock(或.zip / .tar.gz文件)安装一个rock。

我四处搜寻,但我无法确定是否可能。

基本上,http://luarocks.org 宕机了,而我已经在另一台机器上本地安装了 luafilesystem 的副本。使用 Ruby,可以使用'gem'命令在本地交叉安装 ruby gems。我想知道是否可以使用 rocks 和 luarocks 实现相同的功能。

是否有任何方法可以通过使用该rock的另一个本地安装来“交叉安装”rock(例如,luafilesystem)?

类似于:

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

这就是我想要做的。

更新:如果我从 this location 下载了其中一个图像(在 LuaFileSystem 的情况下),我甚至可以满足从 .tar.gz 或 .zip 安装rock的方式。

在这种情况下,安装的“源”可以是本地机器,而不是远程(并且不一定已安装为rock)。

点赞
用户486544
用户486544

如果您有源代码 zip 包,您可以解压并将 luarocks 指向 rockspec 文件。这就是我如何从源代码安装 'busted' 的方法。

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

或直接从源代码安装

cd busted
luarocks make
2012-10-15 15:28:39
用户3677376
用户3677376

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

例如:

luarocks pack luafilesystem

在我的机器上生成luafilesystem-1.6.2-2.linux-x86_64.rock

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

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

2014-06-05 08:48:55
用户1055039
用户1055039

如果有人想要从本地源代码 rock 进行安装,可以按照以下操作:

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

注意:

请使用 make 而不是 install。原因在这里(如下引述)。

LuaRocks 提供以下功能: make:使用 rockspec 在当前目录下编译软件包。 install:安装软件包。

但是,install 不会利用当前的 make。它试图从服务器下载并重新编译相同的软件包,而不是我本地定制的软件包。

有什么解决方法吗?

make 命令将实际构建和安装您的定制 rockspec。由于糟糕的命名选择,它偶尔会引起混淆,我知道。

2017-04-10 11:11:52