【问题标题】:How to stop wasting time updating dependencies with composer?如何停止浪费时间使用作曲家更新依赖项?
【发布时间】:2018-12-18 01:46:08
【问题描述】:

我正在构建一个带有一些依赖项的小应用程序,我的后端是 PHP 和 Composer,我使用了许多依赖项。

我曾经让项目保持最新,但有时,composer 更新太长了!

谁有一些好的提示可以帮助我更新我的依赖项?任何可以在不破坏我的代码的情况下为我运行它们的自动化服务?

【问题讨论】:

  • 一个拥有大量库的小应用程序,你确定有效吗?另外,为什么不把你不需要的东西放在require-dev,确保你有很多可以节省的地方
  • 要回答您的问题,我不确定是否有任何方法可以满足您的要求,除非您只设置了几个要更新。如果有人也启发我,我会对此表示赞同
  • 您可以创建一个 cron 并将 composer update 命令作为 shell 脚本运行。但是我从未尝试过,不确定这是否可行
  • “太长了”有多长?你多久做一次?您选择进行更新的决定因素是什么?您能否重新表述您的问题,以便它实际上提出一个明确定义的问题:问题是什么,在现实世界中;你想要什么结果;是什么阻止你实现这一目标? ATM 这听起来像是你在发泄,而不是问一个你希望有人能够客观地回答的问题。
  • 只是想知道,你能分享你的composer.json吗?那里可能有需要改进的地方。

标签: php dependencies composer-php


【解决方案1】:

我建立Dependabot 就是为了做到这一点。每天早上它会检查是否有任何新版本,如果有,它会创建一个拉请求来更新你到最新和最好的。

应用程序的核心是开源的here,它在 Ruby 和 JavaScript 程序员中比较流行。 PHP 测试版功能齐全,我正在寻找更多的人尝试一下!

【讨论】:

    【解决方案2】:

    我使用prestissimo 来实现更快的作曲家更新/安装过程。 这是一个作曲家插件又名composer global require hirak/prestissimo 你就完成了。

    它会同时下载你所有的包并安装它们!

    这将使作曲家变得异常快。

    没有 prestissimo 288s 的 Laravel 安装基准 => 使用 prestissimo 26s!!!

    为了自动化你的流程,你可以设置一个cronjob 并让它运行一个 bash 脚本,里面有这样的东西:

    示例中的文件名 = composer_update.sh。内容:

    #!/bin/bash
    
    composer update --no-progress --profile --prefer-stable
    

    为了不破坏你的代码,我建议在你的 composer.json 中设置一个minimum stability

    每月更新一次的 cronjob 可能是这样的

    */0 0 1 * * /PROJECT_ROOT/composer_update.sh >> update.log

    这个article 可能会进一步帮助您完成 cron。

    希望我能帮到你。

    【讨论】:

      【解决方案3】:

      我听说一个正在进行的项目想要解决这个问题。

      如果你使用 composer、npm 或 gem,我认为他们会链接到你的 github 帐户(你必须拥有一个才能使用),他们希望让你的库保持最新。

      问题是,他们会创建一个拉取请求,向您显示将要更新的内容,并在有更新日志时向您显示更新日志。

      看看upgator.io

      【讨论】:

        猜你喜欢
        • 2019-12-02
        • 2016-09-23
        • 2013-05-30
        • 1970-01-01
        • 1970-01-01
        • 2013-10-09
        • 2019-03-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多