我最近发现composer发生了变化,这意味着默认的minimum-stability
是stable
,我不想将其设置为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";田野,到别的地方去。