php 如何删除packagist.org标记忽略警告消息?

jgovgodb  于 2023-01-08  发布在  PHP
关注(0)|答案(1)|浏览(111)

我通过www.example.com releases向www.example.com发布了一个包版本packagist.orggithub.com,其中包含www.example.com不喜欢的版本标记packagist.org(后缀为-dev)。我已经更正了版本错误并重新发布,更正后的版本现在显示在packagist.org上。
然而,仍然有一条警告消息(我假设只有我作为维护者看到):
由于composer.json中的版本不匹配,某些标记被忽略。
没什么大不了的,但是删除那个警告信息就好了。我怎么做呢?
请注意,composer.json文件中没有version属性,正如前面提到的,最新版本显示得很好。

yduiuuwa

yduiuuwa1#

  • 由于composer.json中的版本不匹配,某些标记被忽略。[在www.example.com的管理中packagist.org]*

[...]删除那个警告消息会很好。2我该怎么做呢?

  • 简而言之 *,从Microsoft Github中删除标记,因为它是Composer用于您的包的(远程)Git存储库。
  • 更长 *

假设Composer检查包中的版本(发行版),并且它是一个Git仓库,Composer要做的一件事就是获取所有标记(例如git-ls-remote(1)),然后检查composer.json项目配置文件中的这些修订版本。
<tag-ref>:composer.json#/version<tag-ref>不匹配时(在您的特定情况下,这更像是一个虚拟的东西,因为它是关于验证<tag-reg>是否为composer.json#/version的,但这个约束在这里完全适用),那么标记(作为包版本)将被删除,并显示警告,以便您注意到这一点,因为它可能导致无法找到特定版本的后果。
由于Packagist这样做是为了对www.example.com的服务进行簿记packagist.org(索引所有公共包),您可以在管理面板中看到它。
在你的情况下,这是一个较小的问题,因为你不错过的版本(你已经解决了,通过添加一个新的版本“在上面”),它仍然轻推你,你想摆脱它。
实现这一点的唯一方法是删除罪魁祸首,即存储库中的实际标记(上面的<tag-ref>),特别是Git存储库Composer连接到的标记。
现在,删除已发布的标签会有后果,是的,这是一个警告,所以检查一下你的行动基线。git-tag(1)文档中有一节我推荐作为这方面的阅读:

  • 关于重标记- git-tag(1)

它并不完全符合所询问的情况,但在更改甚至删除已推送的标记之前值得了解。YMMV。
实际标记名的问题可能会让人感到惊讶,因为你通常可以在Git中相当自由地标记(只有一些对标记名的约束)。
但如果使用相同的Git仓库和Composer的包源(Composer sprak中的 package repository),则需要更多的要求,特别是我建议阅读Composer官方文档中的以下内容,以便将来在没有警告的情况下处理标记:

  1. Composer版本与VCS版本
  2. VCS标签和分支(2.1 - 2.4)。

*附加说明:*此警告可能有其他原因,仅删除标记不会删除此警告。通过在 * 发布之前使用composer-validate * 来防止此类原因(无论如何,您都应该这样做),并了解其所有警告,应提供超文本引用。

相关问题