【问题标题】:dev-master in composer.json, is this madness? [closed]composer.json 中的 dev-master,这是疯了吗? [关闭]
【发布时间】:2012-12-23 23:17:57
【问题描述】:

我正在使用 composer(在 Symfony2 项目中)并且经常在更新库时遇到错误。

许多库(根据我的经验)使用 dev-master 作为其依赖项的版本(或者更糟的是他们使用 * )。

每当有东西提交到主分支时,您就可以更新库,并且随着时间的推移,API 更改的可能性会更高。今天在 master 中的版本是 1.2.1,明天可能是 1.2.7,没有任何危害,并成为以后的 1.7 或 2.x,肯定不兼容。

我的问题是

  1. 我们是如何走到这一步的?这是来自知名人士的建议吗?
  2. 我/我们可以做些什么来让作者了解这个主题?

或 我疯了吗?

【问题讨论】:

  • 你是在问还是在咆哮?
  • 真诚而积极地询问
  • @RiccardoGalli 如果维护者没有在听,那么您也许可以分叉依赖项并自己标记它们并使自定义包成为依赖项;当您必须处理多个级别的依赖关系时,这当然不起作用
  • @Manquer 我实际上正在做的是避免包,如果可以的话,或者引用当前提交的哈希,以进行可重复安装

标签: php composer-php


【解决方案1】:

你没有生气。

  1. 这是鸡与蛋的问题,在人们标记更多之前,其他人不能要求标记版本。
  2. 唠叨每个没有标签或在六个月内没有标签任何东西的人(如果项目正在积极开发的话)。本周早些时候,我努力标记了我们所有的捆绑包,因为我读到了类似的咆哮,我被提醒我们大多数仍然只有 dev-master 版本。

真正的解决方案是教育,我将尝试通过推动作曲家文档中的最佳实践来提供一些帮助。并不是每个人都拥有丰富的包管理经验,而且很多人都没有意识到这种方法会有多大的问题(直到为时已晚),所以每个人都有责任通过提醒他们来提供帮助。

【讨论】:

  • 我正在编写一个可重新分发的库。一些依赖项没有版本标签。我该如何处理它们?我可以只是开发大师吗?当我之前尝试过时,由于 dev-master 依赖关系,该库无法安装在其他项目上。
  • 你应该唠叨你的依赖的作者,以便他们尽快标记发布。如果你工作的整个生态系统仍然不稳定,那么依赖 dev-master 是可以的,但你不应该使用 dev-master 依赖 IMO 制作标签,因为从长远来看这真的很糟糕。
猜你喜欢
  • 2022-07-13
  • 2013-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 2013-04-03
  • 1970-01-01
  • 2013-09-25
相关资源
最近更新 更多