跳转到主内容
极星编程网:以代码为星,赴技术山海!

composer require --prefer-dist 和 --prefer-source的区别

--prefer-dist优先从压缩包安装,速度快、占用空间小,适合生产环境;--prefer-source优先从源码克隆,保留Git历史,便于开发调试。 在使用 Composer 安装或更新 PHP 包时, --prefer-dist 和 --prefer-source 是两个控制包安装方式的选项。它们的区别主要在于从哪里获取和如何安装依赖包。 --prefer-dist:优先从压缩包安装 这个选项告诉 Composer 优先从远程的压缩包(如 zip、tar.gz)下载并安装包。 安装速度更快,因为不需要克隆完整的 Git 仓库。 占用磁盘空间更小,不包含版本控制历史(. git 目录)。 适合生产环境或只想快速使用稳定版本的场景。 无法直接修改源码或切换分支,因为没有完整的源码仓库信息。 --prefer-source:优先从源码安装 这个选项会让 Composer 优先通过版本控制系统(通常是 Git)克隆包的完整源码。 会保留完整的 Git 历史记录,方便查看提交日志或切换分支。 适合开发调试、贡献代码或需要修改第三方包的场景。 安装较慢,占用更多磁盘空间。 可以在本地直接对包进行修改,并推送更改(如果权限允许)。 实际应用场景 如果你只是使用某个包,不需要改它的代码: PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 composerrequire some/package --prefer-dist 如果你正在调试一个包,或者想临时修改它: composer require some/package --prefer-source 你也可以在 composer.json 中为特定包设置首选方式:
"config": { "preferred-install": { "some/package": "source", "*": "dist" } }
这表示大多数包用 dist 安装,但 some/package 强制用 source。 基本上就这些。选择哪个取决于你是使用者还是开发者。

相关文章