34

我最近遇到了作曲家的变化,这意味着默认minimum-stability值为stable,而不是将其设置为dev我想将我的一些库标记为稳定。

我实际上使用了两个相关的分支,releasedevmaster. 每隔一段时间就会有一些东西被合并release并标记为新版本。

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

谢谢

4

4 回答 4

33

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

更新:另一个链接:稳定性

于 2012-07-25T13:49:30.777 回答
4

详细说明 KingCrunch 的答案,因为这对我来说并不是很明显。

来自https://getcomposer.org/doc/02-libraries.md#specifying-the-version

当您在 Packagist 上发布您的包时,它能够从 VCS(git、svn、hg)信息中推断出版本。这意味着您不必显式声明它。

使用 Github 非常容易: https ://help.github.com/articles/working-with-tags/

此外:

如果您手动创建包并且确实必须明确指定它,则只需添加一个版本字段:

{
    "version": "1.0.0" 
}
于 2016-02-17T10:01:25.517 回答
1

要回答这个问题:

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

有关“稳定”或“冻结”作曲家版本的更多信息

冻结使稳定

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

使用此命令,您对 composer.json 的依赖项将自动更改为:

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

进入:

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

冻结作曲家版本

如果之后您打算做相反的事情来获取您测试站点的 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"


希望能帮助到你。

于 2018-05-18T14:55:02.083 回答
0

如果您不是从 github 或类似的存储库获取包,而是从本地路径“路径”类型获取包,则必须在“composer.json”文件中明确定义版本,它不会t 从本地 git 标签中找出答案。此外,只有在 packagegist、github 上不存在这样的包时才会安装这样的包,因此如果它存在于本地路径 composer.json “name”字段中,则可能需要将其临时重命名为其他内容。

于 2020-07-15T14:44:51.027 回答