Composer、Github 和 Packagist 查询

3

今天,我在Github和Packagist上放了我的第一个项目,并有一些关于如何同时使用它们的问题。请注意,我在这个领域还没有经验。

  1. Composer文档广泛地介绍了如何获取依赖项,但没有教如何创建依赖项,也没有指导如何为Github创建最佳的composer.json文件。例如,“version”属性并不被推荐,但大多数依赖项都有版本号。例如Symfony2有2.4或2.3版本。我如何在Github上维护项目的版本?

  2. 在Packagist中,从Github新增的项目是dev-master。我该如何将其更改为稳定版或测试版?我尝试使用“minimum-stability”,但这并没有改变它。

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

  4. 在Composer中是否有一种方式可以构建我的自定义错误消息(类似于throw/catch),当有人尝试通过Composer安装我的项目但是他自己的composer.json文件存在一些我项目不允许的属性时会触发它?

  5. 是否有人可以列出一些GitHub和Packagist的最佳实践,包括维护技巧、git技巧、不要做的技巧、避免的技巧、请务必要做的技巧或任何其他技巧。

此外,如果您想说一些不在我的问题(我的有限知识问题)中的事情,请随便说。

提前感谢所有答案。


关于#4,您是否在寻找冲突属性?这不允许您抛出PHP异常,但是您可以指定与您的包冲突的其他软件包,因此它们不能一起安装。有关您其余问题,请参阅Seldaeks的答案。 - Nic Wortel
1个回答

5
  1. 版本控制是由 git 分支和 git 标签定义的。如果您想发布一个版本,只需创建一个标签。

  2. 同样的,你必须为他们标记版本才能使它们稳定。分支是 dev/unstable,因为它们可以随时更改。标签是时间上的固定点。

  3. 不确定要说什么,但可能可以通过1/2进行修复

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

  5. 我觉得那有点超出了 stackoverflow 的范围,但我认为我能给你的最好建议是遵循 http://semver.org/ 上的准则来发布版本。这是每个维护库的人都应该知道的最重要的事情。


谢谢。我在发布到stackoverflow的第一个问题小时后找到了答案。semver.org很棒。再次感谢你。 - Mario Legenda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接