【问题标题】:Does luarocks have a shrinkwrap or lockdown option?luarocks 是否有收缩包装或锁定选项?
【发布时间】:2017-05-10 12:15:21
【问题描述】:

其他包管理器有锁定选项。例如,在开发机器上,您可能有某些包和某些版本。目标是在登台或生产环境中安装这些相同的包和版本。有时这称为收缩包装或锁定。

luarocks 有类似的东西吗?

【问题讨论】:

    标签: dependency-management luarocks


    【解决方案1】:

    从 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”选择依赖项和子依赖项,因此所有依赖项都保证是您在开发机器中打包的那些。

    【讨论】:

    • 谢谢。我实际上喜欢这些简单的步骤,而不是“单一的、神奇的命令”。这些命令隐藏得太多了。
    猜你喜欢
    • 2010-10-04
    • 2018-08-07
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2017-05-10
    • 2023-03-28
    相关资源
    最近更新 更多