12

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

基本上,http ://luarocks.org 已经关闭,我已经在本地的另一台机器上安装了 luafilesystem 的副本。使用 Ruby,可以在本地使用“gem”命令交叉安装 ruby​​ gem。我想知道rocks和luarocks是否也可以这样做。

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

就像是:

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

是我希望能够做到的。

更新:我什至会很高兴如何从 .t​​ar.gz 或 .zip 安装岩石,例如,如果我从这个位置下载了一个图像(在 LuaFileSystem 的情况下)。

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

4

3 回答 3

27

如果你有源 zip,你可以解压它并将 luarocks 指向 rockspec 文件。这是我从源代码安装“破坏”的方法。

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

或者直接从源码安装

cd busted
luarocks make
于 2012-10-15T15:28:39.703 回答
11

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-05T08:48:55.467 回答
11

如果有人想要从本地源岩安装。

只需这样做:

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

笔记:

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

LuaRocks 提供了这个:

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

install安装一块石头。

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

有办法解决这个问题吗?

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

于 2017-04-10T11:11:52.877 回答