【问题标题】:have composer update get latest version from git repo让作曲家更新从 git repo 获取最新版本
【发布时间】:2013-01-13 18:47:25
【问题描述】:

我正在尝试摆脱 git 子模块,以便在我的团队中进行开发。最重要的原因是当团队成员在子模块中提交更改,但忘记推送到源,但确实在“根”项目中推送了对这个新提交的引用时,源被破坏,其他开发人员得到reference is not a tree 错误。如果有问题的开发人员在回家之前推送,并且该引用不是树,则这可能会出现问题,并且该引用指向开发人员笔记本电脑上的提交,该笔记本电脑在他的包里,在某处的火车上。

我正在尝试用 composer 替换 git 子模块。我的理由是,如果 git 不知道我的依赖项,这些依赖项就不能破坏 repo。我知道如何从 packagist 添加包,并且我还设法将我们自己的 git 存储库添加到 composer,主要是在 this blog post 的帮助下。

问题,也是难题的最后一部分,是我们的依赖项是我们正在积极开发的 git 存储库。如果我将更新推送到我们的依赖项之一,我希望开发人员的本地副本在他们执行composer update 时更新到这个最新版本。我得到的最接近的方法是为依赖项的每次更改创建一个标签,然后用这个新标签的 id 更新我的 composer.json。

我想知道的是,是否有办法让作曲家始终检查某个分支的最新提交,或者,如果这不可能,则在我执行 @987654324 时始终获取最新标签@。我真的不介意标记,我只是不想在开发过程中不断更新 composer.json。

我用于测试的作曲家文件:

{
    "config": {
        "vendor-dir": "app/vendor"
    },
    "repositories":
    [
        {
            "type": "package",
            "package": {
                "name": "wkjagt/seagull",
                "version": "1.0",
                "source": {
                    "url": "git@github.com:wkjagt/Seagull.git",
                    "type": "git",
                    "reference": "master"
                }
            }
        }
    ],
    "require": {
        "wkjagt/seagull": "1.0.*"
    }
}

我期待1.0.* 采用从 1.0 开始的最新标签,但是一旦 composer 已经有了 1.0.1,如果我创建它就不会得到 1.0.2。对此的任何帮助将不胜感激。

【问题讨论】:

    标签: php git composer-php


    【解决方案1】:

    如果您不必在存储库部分单独指定每个版本,则需要将 composer.json 文件添加到 wkjagt/Seagull 并包含这样的包:

    {
       "type": "vcs",
       "url": "https://github.com/wkjagt/Seagull"
    },
    

    Composer 然后可以读取您的标签并将它们视为版本。如果您总是想要获取最新版本,则需要您的包带有 dev 标志:

    "require": {
        "wkjagt/seagull": "@dev"
    }
    

    【讨论】:

    • 非常感谢,这真的帮助了我。作为额外的奖励,我的主要作曲家文件现在小了很多。
    • 谢谢,很有趣,值得一看。但如果我真的不需要的话,我想避免主持一个额外的项目。
    • 我不知道为什么,但我认为“@dev”让它工作了。谢谢!
    • @inakiabt 这是因为默认作曲家有一个 minimum-stability 设置“稳定”,因此它不会“看到”开发版本,除非你在 root 中指定它composer.json。每个包或整个项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-09
    • 2015-04-02
    • 2020-01-16
    • 2010-11-15
    • 2015-12-01
    • 2015-09-11
    • 2019-11-21
    相关资源
    最近更新 更多