PHP 依赖管理工具 composer 2.0 正式发布~

2020年10月26日

composer 2.0 现在已更新!

性能改进说明(英文)

https://blog.packagist.com/composer-2-0-is-now-available/

1.有什么新功能?

对于命令行(CLI)用户

  • 新的平台检查功能检查运行时 PHP 版本和可用扩展,以确保它们与项目依赖项匹配。如果发现不匹配,它将退出并显示错误详细信息。建议在生成或部署过程中使用生产 PHP 流程运行composer check-platform-reqs
  • 如果包存在于优先级较高的存储库中,则现在在优先级较低的存储库中将完全忽略该包。有关详细信息,请参阅存储库优先级。
  • 无效的 PSR-0 / PSR-4 类配置在优化自动加载器模式下不再自动加载,根据 1.10 中引入的警告
  • 在支持 XDG 基本目录规范的 linux 系统上,Composer 现在更喜欢使用 XDG_CONFIG_DIR/composer 而不是 ~/.composer(如果两者都可用1.x 首先使用 ~/.composer first)
  • 包名称现在必须符合我们的命名准则,否则 Composer 将发生错误并终止运行。(https://github.com/composer/composer/blob/2.0.0/doc/04-schema.md#name
  • 不推荐使用 --no-suggest ,因为不再需要它
  • PEAR 支持(存储库、下载器等)已被删除
  • update现在首先列出对 composer.lock 文件的更改(更新步骤),然后列出将锁文件安装到 vendor目录 时应用的更改(安装步骤)
  • HTTPS_PROXY_REQUEST_FULLURI如果未指定, 现在将默认为 false, 因为这似乎在大多数环境中工作得更好
  • dev-trunkdev-master dev-default 并且不再是彼此的别名。现在保留确切的分支名称。

2. 依赖项解析、作曲家更新和安装期间事件流的详细差异

composer v1

  • composer解析依赖关系(调度 PRE/POST_DEPENDENCIES_SOLVING)
  • 然后,它一步一步地遍历所有软件包(调度PRE_PACKAGE_INSTALL / UPDATE / UNINSTALL,然后根据需要调度PRE_FILE_DOWNLOAD,然后进行POST_PACKAGE_ *)。
  • 最后在末尾写入锁文件

composer v2

更新和安装过程已拆分。

更新会:

  • composer 解析依赖项(调度PRE_POOL_CREATE)
  • 然后写入锁定文件,更新结束

然后安装:

  • 向PRE_OPERATIONS_EXEC发送要执行的完整操作列表
  • 并行下载所有尚未在缓存中的软件包(为尚未在缓存中的软件包调度PRE_FILE_DOWNLOAD)
  • 然后,它遍历所有软件包并并行执行更新/安装/卸载(先分发PRE_PACKAGE_INSTALL / UPDATE / UNINSTALL,然后发布POST_PACKAGE_ *,但是最后启动的一个软件包可能会在完成另一个安装之前完成安装)。
展开阅读全文
5 收藏
分享
加载中
精彩评论
一晃都2.0版本了,刚开始接触composer还是一同事介绍的😢
2020-10-26 14:45
2
举报
不错,都2.0了。还是用laravel才开始了解这个包管理工具。
2020-10-26 11:37
2
举报
最新评论 (20)
厉害!
2020-11-02 10:05
0
回复
举报
composer 现在的一个问题是没有 开源的私有库管理系统
2020-10-27 16:20
0
回复
举报
satis
2020-10-27 17:56
0
回复
举报
必须支持一下
2020-10-27 10:28
0
回复
举报
兼容吗
2020-10-27 08:17
0
回复
举报
大部分应该能直接使用。
2020-10-27 09:29
0
回复
举报
好东西
2020-10-26 22:46
0
回复
举报
刚接触composer 还是laravel4
2020-10-26 19:02
0
回复
举报
composer 让php再次伟大
2020-10-26 18:22
0
回复
举报
composer 的确是简单好用
2020-10-26 16:43
0
回复
举报
而且现在抓取依赖速度更快了!
2020-10-26 18:16
0
回复
举报
那1.X更新么?
2020-10-26 15:36
0
回复
举报
更什么啊?
2020-10-26 18:17
0
回复
举报
要从现在1.x更新么?怕兼容性问题啥的
2020-10-27 16:06
0
回复
举报
一晃都2.0版本了,刚开始接触composer还是一同事介绍的😢
2020-10-26 14:45
2
回复
举报
更多评论
20 评论
5 收藏
分享
返回顶部
顶部