其他包管理器有一个锁定选项。例如,在开发机器上,您可能有某些包和某些版本。目标是在登台或生产环境中安装这些相同的包和版本。有时这称为收缩包装或锁定。
luarocks 有类似的东西吗?
其他包管理器有一个锁定选项。例如,在开发机器上,您可能有某些包和某些版本。目标是在登台或生产环境中安装这些相同的包和版本。有时这称为收缩包装或锁定。
luarocks 有类似的东西吗?
从 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”选择依赖项和子依赖项,因此所有依赖项都保证是您在开发机器中打包的依赖项。