如何在没有互联网的情况下安装Luarocks软件包



我在github上使用了火炬发行库,并安装了luajit和luarocks。

我想从源中安装Luarocks软件包,该软件包正在下载包装(.zip文件)并从源构建它们。

我尝试通过从github下载软件包,然后运行luarocks install modulename.rockspec进行操作。但是这里再次开始从github克隆。

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

您可以使用源岩石或二进制岩石。

使用源岩石

源岩是一个包含.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,但是它将在需要时触电以获取依赖项。因此,您需要事先打包和安装所有依赖项。

使用二进制岩石

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

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,也就是说,源中的所有已安装库和目标机器都需要兼容(例如,相同的OS/Distro版本)。因此,这对于将岩石部署到农场中的多台机器很有用,但对于一般最终用户分发二进制套件并不有用。

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

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

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

最新更新