全局安装适用于跨项目命令行工具,如PHP_CodeSniffer、Laravel Installer,通过composer global require安装并需配置PATH;项目安装用于应用依赖,如框架、ORM,使用composer require确保环境一致,保存在vendor目录,推荐大多数情况使用。
在使用 Composer 管理 PHP 项目依赖时,经常会遇到“全局安装”和“项目安装”的选择问题。关键在于用途和作用范围:全局安装是让工具在整个系统中可用,适合命令行工具类库;项目安装则是将依赖写入当前项目的
目录,确保应用运行所需环境一致。
什么时候该用全局安装?
全局安装适用于那些你希望在任意目录下都能调用的命令行工具,它们不直接参与项目逻辑,而是辅助开发或运维。
像
PHP_CodeSniffer
、
PHPStan
、
Laravel Installer
这类开发辅助工具,全局装一次就可以到处用。
全局安装通过
执行,包会被放进用户目录下的
。
记得把全局的
目录加入系统 PATH,否则命令无法直接执行。
什么时候该用项目安装?
项目安装是大多数情况下的正确选择,尤其是当这个库是应用正常运行所必需的组件。
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
比如框架(Laravel、Symfony)、数据库 ORM、HTTP 客户端等,都应该作为项目依赖安装。
使用
将依赖写进
,保证团队成员和生产环境的一致性。
项目依赖保存在本地
文件夹,不会影响其他项目,也便于版本控制和部署。
如何判断该选哪种?
一个简单的判断标准:这个包是“用来构建或运行项目本身的”,还是“用来帮你操作项目的工具”?
如果代码里会
某个类,那它必须项目安装。
如果只是在终端敲个命令生成代码或检查语法,可以考虑全局安装。
有些工具也支持两种方式,比如 Laravel 安装器推荐全局装,而 Laravel 框架本身必须项目装。
基本上就这些。搞清楚用途,选择就自然明确了。不复杂但容易忽略。
vendorcomposer global require~/.composer/vendor/binbincomposer require package/namecomposer.jsonvendor/use