我们正在与多个人在一个使用 composer 软件包的项目上合作。每次同事更新/安装软件包时,composer.lock文件中的plugin-api-version都会发生变化。这是一个问题,还是只要没有指定plugin-api-version的包,我们就可以忽略它?
composer.lock
plugin-api-version
gmol16391#
当它变成问题的时候就是问题了。如果它没有阻止你安装你的项目,那么这不是一个问题。但是,如果多个开发人员在同一个项目上工作,并且他们都在对依赖关系进行更改(例如,在该项目上运行update和/或require调用),更好的做法是所有开发人员都使用同一个版本(希望不是V1)。
update
require
xurqigkl2#
这是因为人们在他们的环境中有不同版本的 composer 。自2020年以来(Version 1.10.0)composer.lock有字段plugin-api-version来跟踪哪个Composer版本创建了它。我建议所有开发人员在生产环境中使用相同版本的Composer,以避免部署时出现意外。您可以通过运行sudo composer self-update <version>或从Composer downloads page的“手动下载”部分下载相应的composer.phar文件来升级/回滚版本。如果开发人员更喜欢拥有和管理自己的composer版本,您可能需要下载composer.phar并将其作为项目的一部分。通过这种方式,您可以确保在每个项目的基础上跨所有环境使用相同的编写器。
sudo composer self-update <version>
composer.phar
2条答案
按热度按时间gmol16391#
当它变成问题的时候就是问题了。
如果它没有阻止你安装你的项目,那么这不是一个问题。
但是,如果多个开发人员在同一个项目上工作,并且他们都在对依赖关系进行更改(例如,在该项目上运行
update
和/或require
调用),更好的做法是所有开发人员都使用同一个版本(希望不是V1)。xurqigkl2#
这是因为人们在他们的环境中有不同版本的 composer 。
自2020年以来(Version 1.10.0)
composer.lock
有字段plugin-api-version
来跟踪哪个Composer版本创建了它。我建议所有开发人员在生产环境中使用相同版本的Composer,以避免部署时出现意外。
您可以通过运行
sudo composer self-update <version>
或从Composer downloads page的“手动下载”部分下载相应的composer.phar
文件来升级/回滚版本。如果开发人员更喜欢拥有和管理自己的composer版本,您可能需要下载
composer.phar
并将其作为项目的一部分。通过这种方式,您可以确保在每个项目的基础上跨所有环境使用相同的编写器。