如何在没有互联网的情况下安装luarocks包?

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

我想要从源码安装luarocks包,也就是下载包(.zip文件)并从源码构建。

我尝试从github下载包,然后运行luarocks install modulename.rockspec来安装。但在这里,它又开始从github克隆。

有人能告诉我确切的程序吗?

原文链接 https://stackoverflow.com/questions/40845265

点赞
stackoverflow用户1793220
stackoverflow用户1793220

您可以使用source rocks或binary rocks

使用源码包

源码包是一个包含源码的.src.rock扩展名的软件包。您可以将其打包:

luarocks pack bla-1.0-1.rockspec     # 使用网络

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

使用二进制包

二进制软件包是一个具有.PLATFORM.rock扩展名的已编译软件包,其中包含.lua或.so/.dll模块。您可以构建一个模块,然后将您构建的代码打包:

luarocks build bla-1.0-1.rockspec     # 使用网络
luarocks pack bla                     # 不使用网络

这将产生一个二进制软件包,例如bla-1.0-1.linux-x86.rock。然而请注意,要在另一台机器上安装此软件包,目标机器需要完全ABI兼容,即源和目标机器中安装的所有库都需要兼容(例如,相同的操作系统/系统版本)。因此,这对于在一组机器中部署软件包很有用,但不适用于向终端用户分发二进制软件包。

将打包的软件包分组到本地服务器中

一旦您使用上述任一方法打包了所需的所有软件包(及其依赖项),可以将它们全部放在一个目录中,然后将其转换为“本地服务器”:

mkdir my_rocks
mv *.rock my_rocks     # 假设我们在此处有一些打包的.rock文件
cd my_rocks
luarocks-admin make-manifest my_rocks

这适用于源和二进制软件包。然后,您将能够在不获取网络的情况下从那里构建软件包。

luarocks install bla --only-server=/home/YOURNAME/my_rocks
2016-11-28 15:33:55