Composer 作为 PHP 官方推荐的依赖管理工具,负责统一管理项目所需的第三方代码库,能够自动处理组件之间的版本依赖关系,让传统开发中手动下载类库、版本冲突等麻烦不再出现。开发者只需在 composer.json 配置文件中声明所需扩展包及版本约束,执行命令后即可自动完成依赖的下载与安装,并生成自动加载规则,省去手动引入文件的步骤。该工具具备版本锁定机制,通过 composer.lock 确保团队与部署环境中的依赖版本完全一致,还提供更新依赖、清理缓存、按开发或生产环境安装不同组件等功能。

Composer 自带一个便于使用的安装程序,可直接在命令行中运行。若想深入了解该安装程序的内部运作机制,可以下载这个文件,或前往 GitHub 查看其源码——全部由纯 PHP 编写。
安装 Composer 有两种便捷途径:一种是把 Composer 装进当前项目里,让它只服务于这个项目;另一种是把它配置成系统级的可执行程序,供整台机器上的所有项目调用。
Locally
若只想在单个项目中启用 Composer,只需把安装程序放到该项目的目录里执行即可。
安装程序仅会核对少量 PHP 配置项,随后把 composer.phar 下载到当前工作目录中。该文件即 Composer 的可执行二进制包,采用 PHAR(PHP 归档)格式,属于 PHP 的一种打包形式,其用途之一是在命令行环境下运行。
运行 php composer.phar 即可启动 Composer。
通过 --install-dir 参数,可以指定 Composer 的安装位置;如果想给安装文件换个名字,则用 --filename 参数来实现。若按下载页面的指引运行安装程序,只需在命令中加上这两个参数即可。

在命令行中执行 php bin/composer 即可启动 Composer。
Globally
Composer 的 PHAR 包可以放在任意位置。若所在目录已纳入 PATH 环境变量,就能在全局范围内直接调用。在 Unix 类系统上,还能赋予其可执行权限,这样调用时无需再显式通过 php 解释器来运行。
装好之后,若想让 composer.phar 进入 PATH 所包含的目录,可以按下载页面的指引先跑完安装程序,再执行下面的操作来完成移动。

若你只想把这款工具装给当前用户使用、并且不想涉及 root 权限,那么可以把安装位置换成 ~/.local/bin,而不必采用部分 Linux 发行版默认提供的那个目录。
请注意:若因权限不足导致上述操作未能完成,可尝试加上sudo重新执行一次。
在部分 macOS 版本中,/usr 目录默认并不存在。若执行时出现 “/usr/local/bin/composer: No such file or directory” 报错,需要先手动建立该目录,再继续后续操作:mkdir -p /usr/local/bin。
关于修改PATH路径的操作说明,可查阅百度百科中的相关条目,或通过你常用的搜索引擎获取更多信息。
运行 composer 命令即可,不必再输入 php composer.phar。
1、依赖自动管理
Composer 是 PHP 生态中官方主流的依赖管理工具,能够自动分析项目所需的类库,并妥善处理各组件之间的依赖关系。
2、版本约束控制
借助 composer.json 设定版本约束,可指定版本范围或仅采用稳定版,从而规避依赖冲突。
3、自动加载机制
采用PSR-4标准实现自动加载机制,类库文件可直接实例化使用,省去了手动编写require语句的步骤。
4、命令行工作流
内置安装、更新、移除及冲突排查等命令,可快速获取并升级第三方代码包。
5、私有源支持
默认对接 Packagist 公共仓库,同时支持切换至私有源,内网项目与私有组件托管场景均可适用。
6、脚本钩子扩展
安装和更新前后,可以设置自定义命令由生命周期脚本自动触发,让部署步骤更省事。
在你的机器上安装Composer,这个办法最为省事。
运行 Composer-Setup.exe 后,程序会自动安装最新版 Composer,并把其加入 PATH 环境变量;配置完成后,在任意目录的命令行里都能直接调用 composer 命令。
关闭现有终端,再打开一个新的终端进行测试。这一步不可省略:PATH 环境变量只有在终端重新启动后才会被加载。
手动安装
切换到 PATH 所包含的某个目录,再依据下载页面的指引执行安装程序,从而获取 composer.phar 文件。
在 composer.phar 所在目录中新建一个名为 composer.bat 的文件:
使用 cmd.exe:

使用 PowerShell 方式:

若 PATH 环境变量中还没有该目录,请把它加进去。想了解修改 PATH 的具体做法,可查阅相关说明文档,或用自己惯用的搜索引擎查找。
关掉当前终端窗口,重新打开一个终端来验证用法:

(您的评论需要经过审核才能显示)
0条评论