Packagist 是 PHP 官方公共包目录,仅索引元数据而不托管代码;Composer 是实际执行下载安装的工具,Packagist 为其提供包信息查询服务,二者分工明确、协同工作。

Packagist 是 PHP 社区的官方公共包仓库,本质是一个“包目录”——它不直接托管代码文件,而是收集、索引并提供 PHP 软件包的元数据(比如包名、版本号、依赖声明、源码地址等)。Composer 才是真正负责下载、安装、更新和自动加载代码的工具。
当你运行 composer require monolog/monolog 时,Composer 并不会凭空知道这个包在哪。它会先去 Packagist 查询:
• 这个包是否存在?
• 有哪些可用版本?
• 每个版本对应的 Git 地址(如 GitHub)和 composer.json 内容是什么?
• 它依赖哪些其他包?
查到信息后,Composer 才根据返回的源码地址(通常是 GitHub、GitLab 等 VCS)拉取代码,并完成安装与自动加载配置。
• Composer 本身不内置任何包,它必须依赖一个或多个仓库来发现包;
• Packagist 是它的默认仓库(开箱即用),就像浏览器默认访问 Google 一样;
• 你可以完全不用 Packagist:通过配置私有仓库、VCS 直连 Git 地址,甚至本地路径,Composer 都能工作;
• 但绝大多数公开 PHP 包(如 Laravel、Symfony 组件、Monolog)都主动注册在 Packagist 上,方便别人一键安装。
• 不需要上传 ZIP 或源码到 Packagist —— 只需把你的 PHP 项目放在 GitHub/GitLab 等平台,并确保根目录有合法的 composer.json;
• 到 php.cn/link/ec811d0d775adc62776ba80fadd4ed19" target="_blank">packagist.org 提交该项目的仓库 URL;
• Packagist 会自动抓取你仓库的 composer.json,解析出包名(如 yourname/my-package)、版本(基于 Git tag)、自动加载规则等,加入索引;
• 之后别人就能用 composer require yourname/my-package 安装,无需额外配置。
• 企业内网可搭建私有 Packagist 镜像(如 Private Packagist)或 Satis 服务;
• 项目中可通过 repositories 字段在 composer.json 里添加多个源,Composer 会合并搜索结果并选最优匹配;
• 但对绝大多数 PHP 开发者来说,Packagist 就是那个“搜得到、装得上、信得过”的起点。
以上就是什么是Packagist?它和Composer是什么关系?(基础概念科普)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号