2016-12-25 42 views
0

其他软件包管理器有一个锁定选项。例如,在开发机器上,您可能会有某些软件包和某些版本。目标是在分段或生产环境中安装这些相同的软件包和版本。有时候这叫做shrinkwrap或lockdown。luarocks是否有收缩包装或锁定选项?

Luarocks有类似的东西吗?

回答

0

作为LuaRocks 2.4.2,这是不幸的是不能作为一个命令。

但这里是操作序列产生类似的效果。

在开发机:

mkdir packages 
cd packages 
luarocks list --porcelain | awk '{print $1}' | uniq > packages.txt 
for p in $(cat packages.txt); do luarocks pack $p; done 
luarocks-admin make-manifest . 
cd .. 
tar czvpf packages.tar.gz packages 

复制packages.tar.gz到目标机器然后运行:

tar zxvpf packages.tar.gz 
luarocks --only-server=./packages install foo 

这只会从packages/目录中安装包“foo”的采摘依赖性和子相依(而不是来自网络),因此所有依赖关系都保证是您在开发机器中打包的依赖关系。

+0

谢谢。我实际上喜欢通过一个“单一的,神奇的命令”这些简单的步骤。这些命令隐藏太多。 –