根本原因是path未包含composer安装路径或php cli环境配置不全:需确认path已添加对应目录并重载shell配置,同时确保php cli启用curl、openssl、mbstring等扩展。

composer 命令找不到:检查 PATH 是否包含安装路径
根本原因不是没装 composer,而是 shell 找不到 composer 这个可执行文件。系统只在 PATH 环境变量列出的目录里搜索命令。
- Linux/macOS 下常用安装路径是
/usr/local/bin/composer或~/bin/composer,装完不重启终端或不重载 shell 配置(如source ~/.zshrc),PATH 不会自动生效 - Windows 用户如果用 Scoop 安装,默认路径是
C:\Users\{user}\scoop\shims;用官方 installer 装的,可能落在C:\ProgramData\ComposerSetup\bin—— 这两个路径都必须手动加进系统或用户级 PATH - 运行
echo $PATH(macOS/Linux)或echo %PATH%(Windows cmd)确认路径是否真在里面;别只信安装脚本说“已添加”
全局安装后仍报错:确认 composer 是可执行文件,不是 PHP 脚本别名
有些教程教人用 alias composer='php /path/to/composer.phar',这会导致子 shell 或 IDE 终端里失效,因为 alias 不跨进程继承。
- 检查
which composer(macOS/Linux)或where composer(Windows cmd)输出是否指向一个真实文件,而不是 alias 或函数 - 如果返回空或提示“not found”,说明 alias 没加载;如果返回的是
/path/to/composer.phar,那它很可能只是个 PHP 脚本——需确保有可执行权限:chmod +x /path/to/composer.phar - 更稳妥的做法是下载官方 PHAR 后直接移动到 PATH 目录并重命名为
composer:sudo mv composer.phar /usr/local/bin/composer
IDE 或编辑器终端里 composer 找不到:环境变量继承异常
VS Code、PhpStorm 的内置终端常复用登录 shell 配置,但 GUI 应用启动时可能读的是系统默认 shell(如 bash),而非你日常用的 zsh,导致 PATH 不一致。
- 在 IDE 里运行
printenv PATH,对比系统终端输出,看关键路径是否缺失 - VS Code 用户可在
settings.json中强制指定 shell 并加载配置:"terminal.integrated.profiles.osx": {"zsh": {"path": "/bin/zsh", "args": ["-l"]}}——-l表示 login shell,会加载~/.zprofile或~/.zshrc - PhpStorm:设置 → 工具 → 终端 → Shell path 改为
/bin/zsh -l(macOS)或对应 shell 路径
Windows 上 composer install 卡住或报错:PHP CLI 版本与扩展不匹配
PATH 通了,composer --version 能跑,但 composer install 报错“Class not found”或“cURL extension missing”,其实是 PHP CLI 环境和 Web 用的不是同一套。
- 运行
php -v和php -m | grep curl(Windows 用php -m看列表),确认 CLI 模式下 cURL、openssl、mbstring 都已启用 - 常见坑:XAMPP/MAMP 自带的 PHP bin 目录进了 PATH,但它默认禁用扩展;需编辑对应
php.ini(不是 Apache 用的那个!是 CLI 加载的),取消注释extension=curl等行 - 验证 CLI 加载的是哪个 php.ini:
php --ini,输出里的 “Loaded Configuration File” 路径才是你要改的











