1

我在 github 上使用了 torch distro 存储库并安装了 LuaJIT 和 luarocks。

我想从源代码安装 luarocks 软件包,即下载软件包(.zip 文件)并从源代码构建它们。

我尝试通过从 github 下载包然后运行 ​​luarocks install modulename.rockspec 来做到这一点。但在这里它再次开始从 github 克隆。

谁能告诉我这样做的确切程序?

4

1 回答 1

1

您可以使用源岩或二元岩

使用烃源岩

源岩是一个.src.rock包含源代码的扩展包。你创建它包装一个rockspec:

luarocks pack bla-1.0-1.rockspec     # uses the network

这会产生 bla-1.0-1.src.rock。运行luarocks build bla-1.0-1.src.rock不使用网络构建bla,但如果需要,它会访问网络以获取依赖项。所以你需要事先打包和安装所有依赖项。

使用二元岩石

二进制 Rock 是一个已编译的包,其.PLATFORM.rock扩展名包含 .lua 或 .so/.dll 模块。您创建它构建一个模块,然后打包您构建的代码:

luarocks build bla-1.0-1.rockspec     # uses the network
luarocks pack bla                     # doesn't use the network

这产生了一个二元岩石,比如说bla-1.0-1.linux-x86.rock。但是请注意,要在另一台机器上安装它,目标机器需要完全兼容 ABI,也就是说,源机器和目标机器中的所有已安装库都需要兼容(例如,相同的操作系统/发行版版本)。出于这个原因,这对于将 Rocks 部署到农场中的多台机器很有用,但对于为最终用户分发二进制包通常没有用。

将打包的岩石分组到本地服务器

使用上述方法之一打包所需的所有岩石(及其依赖项)后,您可以将它们全部放在一个目录中,然后将其变成“本地服务器”:

mkdir my_rocks
mv *.rock my_rocks     # suppose we have some packed .rock files here
cd my_rocks
luarocks-admin make-manifest my_rocks

这适用于源岩和二元岩。然后,您无需获取网络即可从那里构建岩石。

luarocks install bla --only-server=/home/YOURNAME/my_rocks
于 2016-11-28T15:33:55.040 回答