luarocks 是否有收缩包装或锁定选项?
Does luarocks have a shrinkwrap or lockdown option?
其他包管理器有一个锁定选项。例如,在开发机器上,您可能有特定的包和特定的版本。目标是在暂存或生产环境中安装那些相同的包和版本。有时这称为收缩包装或锁定。
luarocks 有类似的东西吗?
从 LuaRocks 2.4.2 开始,很遗憾,这不能作为单个命令使用。
但这里是产生类似效果的一系列操作。
在开发机器中:
mkdir packages
cd packages
luarocks list --porcelain | awk '{print }' | 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
这将安装软件包 "foo" 仅从 packages/
目录(而非网络)中挑选依赖项和子依赖项,因此所有依赖项都保证是您打包在开发机器。
其他包管理器有一个锁定选项。例如,在开发机器上,您可能有特定的包和特定的版本。目标是在暂存或生产环境中安装那些相同的包和版本。有时这称为收缩包装或锁定。
luarocks 有类似的东西吗?
从 LuaRocks 2.4.2 开始,很遗憾,这不能作为单个命令使用。
但这里是产生类似效果的一系列操作。
在开发机器中:
mkdir packages
cd packages
luarocks list --porcelain | awk '{print }' | 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
这将安装软件包 "foo" 仅从 packages/
目录(而非网络)中挑选依赖项和子依赖项,因此所有依赖项都保证是您打包在开发机器。