Composer需手动安装并配置PATH,运行composer --version验证;未安装则提示command not found;Windows用户需勾选Add to PATH或手动添加路径;推荐用官方install.php脚本安装;composer install还原lock文件版本,require修改json并更新lock;国内必须配置阿里云镜像源。

PHP 安装完成后,Composer 并不会自动存在——它是一个独立的 PHP 依赖管理工具,必须手动安装并确保其能被系统识别。
怎么判断 Composer 是否已安装
在终端运行 composer --version。如果提示 command not found 或 不是内部或外部命令,说明尚未安装;若返回类似 Composer version 2.7.7 的输出,则已就绪。
注意:Windows 用户即使双击 Composer-Setup.exe 完成安装,也可能因未勾选「Add to PATH」导致命令不可用。
- 检查
where composer(Windows)或which composer(macOS/Linux)是否返回路径 - 若无输出,需手动把 Composer 安装目录(如
C:\ProgramData\ComposerSetup\bin)加入系统环境变量PATH - 重启终端或命令行窗口后重试
推荐用官方 install.php 脚本安装(跨平台通用)
绕过图形安装器,直接用 PHP 执行官方脚本,可控性更强,也避免 PATH 配置遗漏。
立即学习“PHP免费学习笔记(深入)”;
执行以下命令(确保 php 命令可用且版本 ≥ 7.2):
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b68bf') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
完成后得到 composer.phar 文件,可:
- 全局使用:
sudo mv composer.phar /usr/local/bin/composer(macOS/Linux) - Windows:重命名为
composer.phar→ 改为composer.bat,内容为@php "%~dp0composer.phar" %*,再放入 PATH 目录
composer install 和 require 的区别与误用场景
composer install 读取项目根目录的 composer.lock,精确还原依赖版本;composer require 修改 composer.json 并安装新包,同时更新 composer.lock。
常见误操作:
- 新克隆项目后直接
composer require xxx→ 应先composer install确保环境一致 - CI/CD 流水线中用
require→ 会导致 lock 文件变动,破坏可重复构建 - 本地开发时删了
vendor/却只跑require→ 可能漏装间接依赖(如monolog被laravel/framework引入但未显式 require)
国内用户必须配置镜像源,否则超时或失败
默认源 https://packagist.org 在国内访问极慢,不配镜像基本无法完成 install 或 update。
全局配置阿里云镜像(推荐):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
验证是否生效:
composer config -g repo.packagist
会输出 {"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
注意:某些企业私有包可能依赖官方源,此时可对特定包临时切回官方源:composer config repositories.official-packagist composer https://packagist.org,再通过 composer require vendor/package --repository=official-packagist 指定。
Composer 的核心其实是 composer.json 和 composer.lock 两个文件的协同;很多人卡在「装上了却不能用」,问题往往出在 PATH、镜像、或混淆了 install 与 require 的语义——这三个点比安装步骤本身更容易被忽略。











