【问题标题】:Composer, Github, Packagist inquiryComposer, Github, Packagist 查询
【发布时间】:2014-07-24 05:03:50
【问题描述】:

今天,我将我的第一个项目放在了 Github 和 Packagist 上,我有几个关于结合使用它们的问题。请注意,我仍然对这个领域没有经验。

  1. Composer 文档在教如何获取依赖项方面非常丰富,但不包括如何创建依赖项,以及如何为 Github 创建最佳 composer.json。例如,不推荐使用version 属性。但是大多数依赖项都来自版本。例如,Symfony2 有 2.4 或 2.3。如何在 Github 中维护我的项目版本?

  2. 在 Packagist 中,Github 新添加的项目是 dev-master。如何更改为稳定版或测试版?我试过minimum-stability,但这并没有改变它。

  3. 我几个小时前提交了this 问题。问题是我无法添加自己的依赖项(不是一些 symfony 包),因为该项目位于 dev-master 中(或者我认为是这样)。

  4. Composer 中是否有一种方法可以构建我的自定义错误消息(类似于 throw/catch),当有人尝试通过 composer 安装我的项目但在他自己的 composer.json 中具有属性时,该消息将“被触发”我的项目不喜欢的文件?

  5. 谁能在 GitHub 和 Packagist 上为初学者列出一些最佳实践。维护提示、git 提示、不要做的提示、避免提示、请做提示或任何其他提示。

另外,如果您想说一些我的问题(我的知识有限的问题)中没有的内容,请这样做。

提前感谢您的所有回答。

【问题讨论】:

  • 至于#4,您是否正在寻找conflict 属性?这不允许您抛出 PHP Exception,但您可以指定与您的包冲突的其他包,因此它们不能一起安装。对于您的其他问题,请参阅 Seldaeks 的回答。

标签: github composer-php packagist


【解决方案1】:
  1. 版本控制由 git 分支和 git 标签定义。如果你想发布一个版本,你只需创建一个标签。

  2. 同样,您必须标记版本才能使其稳定。分支是开发/不稳定的,因为它们可以随时更改。标签是固定的时间点。

  3. 不知道该说什么,但可能会修复 1/2

  4. 不,没有办法,真的没有多大意义。如果您的项目有需求,您应该定义它们,然后 composer 将确保如果不满足这些需求则无法安装。

  5. 我认为这有点超出了 stackoverflow 的范围,但我认为我能给您的最佳建议是遵循 http://semver.org/ 发布版本的指南。这是每个维护库的人都应该知道的最重要的事情。

【讨论】:

  • 谢谢。我在stackoverflow上发布后的第一个问题小时找到了答案。 semver.org 很棒。再次感谢您。
猜你喜欢
  • 1970-01-01
  • 2015-01-06
  • 2016-02-28
  • 2012-09-15
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
  • 2021-05-16
  • 2017-04-30
相关资源
最近更新 更多