如何使用Composer将代码标记为稳定


How to mark code as stable using Composer?

我最近发现composer发生了变化,这意味着默认的minimum-stabilitystable,我不想将其设置为dev,而是想将我的一些库标记为稳定库。

我实际上使用了两个相关的分支,release和从master分支出来的dev。每隔一段时间就会有一些东西被合并到release中,并被标记为新版本。

composer如何确定我的库的稳定性,composer.json中是否有分支、版本nums和密钥的命名约定?

感谢

答案是:Tags。如果您不想使用标记,也可以使用Alias。但值得一提的是,你应该只在包裹稳定时将其标记为稳定,而不是让其他人相信它们是稳定的。

更新:还有一个链接:Stability

详述KingCrunch的答案,因为这对我来说并不明显

发件人https://getcomposer.org/doc/02-libraries.md#specifying-版本

当您在Packagist上发布包时,它能够根据VCS(git、svn、hg)信息推断版本。这意味着你不必明确声明它

这在Github上非常容易:https://help.github.com/articles/working-with-tags/

此外:

如果您是手工创建包,并且确实必须指定它明确地说,您可以添加一个版本字段:

{
    "version": "1.0.0" 
}

要回答问题:

  • 对于VCS,它是dev-master
  • 对于包装学家来说,它是*@stable

有关";"稳定";或";冷冻";composer版本

冻结使稳定

获取需求的最新版本有时很有用,尤其是在审计期间,这就是为什么我制作了一个composer包来稳定所有依赖项:composer stable versions(https://github.com/MaximeCulea/Composer-Stable-Versions)。

使用此命令,您对composer.json的依赖关系将自动从更改

"wpackagist-plugin/wordpress-seo":"6.2"

进入:

"wpackagist-plugin/wordpress-seo":"*@stable"

冻结Composer版本

如果之后你计划做相反的事情来获取你测试网站的最新版本的composer.lock,特别是在网站直播时有用,请查看我的另一个composer命令:composer Freeze versions(https://github.com/MaximeCulea/Composer-Freeze-Versions)。

使用此命令,您对composer.json的依赖关系将自动锁定:

"wpackagist-plugin/wordpress-seo":"@stable"

进入:

"wpackagist-plugin/wordpress-seo":"6.2"


希望能有所帮助。

如果您不是从github或类似的存储库获取包,而是从本地路径获取包,"路径";类型,您必须在composer.json文件中明确定义版本,它不会从本地git标记中找到它。此外,只有当这样的包不存在于packagegist、github上时,才会安装它,因此,如果它存在于本地路径composer.json中,则可能需要临时重命名它;name";田野,到别的地方去。