识别提交的作曲家包的版本?

Posted

技术标签:

【中文标题】识别提交的作曲家包的版本?【英文标题】:Identifying versions of committed composer packages? 【发布时间】:2018-10-24 20:04:03 【问题描述】:

我可以选择承接客户的多个项目。这些项目使用 composer 安装的依赖项,这些依赖项提交到 git 存储库。不幸的是,没有一个项目有作曲家文件。我猜以前的开发人员忘记/不想提交它们。

我正在寻找一种快速方法来识别具有版本的作曲家包,以重建作曲家文件并简化项目的未来维护。有人知道识别版本的有效方法吗?

【问题讨论】:

这对***.com/questions/15185459/…有帮助吗? 嘿@evolutionxbox,感谢您向我指出这一点。它没有工作,因为没有 composer.json/composer.lock 文件。 是否有类似于 node_modules 的目录?也许你可以从中构建一个依赖树? 有一个供应商目录,其中包含一些依赖项。我可以通过检查并检查其中的每个文件夹是否有 composer.json 文件来手动重建它。然后手动添加它们并至少猜测主要版本......这是我想避免的手动工作@evolutionxbox 确实如此。在节点中我会使用 shrinkwrap 来完成这个任务,但我不认为 composer 有这样的包。 【参考方案1】:

到目前为止,我发现没有简单的方法。最好的方法是从

重构 composer.json
vendor/composer/installed.json

文件。这包含所有依赖项 - 直接和间接 - 具有确切的版本。从那里开始,需要一些手动工作来稍微放松版本并持续测试。

源:https://twitter.com/thomaspetracco/status/996659342052032512

【讨论】:

以上是关于识别提交的作曲家包的版本?的主要内容,如果未能解决你的问题,请参考以下文章

我可以用作曲家拉一个特定的提交吗?

gitlab - 作曲家包的 ci

作曲家:如何找到一个包的确切版本?

composer 如何处理同一个包的多个版本?

如何在 github 和 packagist 上创建包的版本?特定于 PHP

R 包的 CRAN 提交中的 DOI?