我在 github 上使用了 torch distro 存储库并安装了 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
,但如果需要,它会访问网络以获取依赖项。所以你需要事先打包和安装所有依赖项。
二进制 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