答案是PATH未正确配置:根本原因是shell未在PATH中找到composer或laravel可执行文件,需将对应安装路径(如/usr/local/bin或~/.composer/vendor/bin)加入PATH并重载配置或新开终端。

Composer 本身没有快捷键,所谓“全局命令行快捷键”,本质是让 composer 和它安装的工具(如 laravel、phpunit)能在任意目录直接敲命令运行——这取决于你的终端环境和 PATH 配置,不是 Composer 自身功能。
为什么 composer 命令在某些终端里打不出来?
根本原因不是没装好,而是 shell 找不到可执行文件。Composer 安装后生成的是 composer.phar,它必须被系统识别为命令才能省略 php composer.phar 前缀。
- Linux/macOS:确认
composer文件在/usr/local/bin/composer或~/bin/composer,且有执行权限(chmod +x) - Windows:必须存在
composer.bat包装器,内容为@echo off& php "%~dp0composer.phar" %*,且该目录已加入系统 PATH - 验证方式:新开终端,运行
which composer(macOS/Linux)或where composer(Windows),无输出即失败
为什么 laravel new 报错 “command not found”?
这是最常踩的坑:你确实执行了 composer global require laravel/installer,但 shell 并不知道去哪找生成的 laravel 可执行文件。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 实际路径是
$COMPOSER_HOME/vendor/bin/laravel(Linux/macOS)或%COMPOSER_HOME%\vendor\bin\laravel(Windows) - 必须把该路径显式加进
PATH,不能依赖 Composer 自动处理 - 如果设了
COMPOSER_HOME(比如export COMPOSER_HOME="/opt/composer"),PATH 就得用$COMPOSER_HOME/vendor/bin,而不是硬编码~/.composer/vendor/bin - 改完 PATH 后必须新开终端,
echo $PATH或echo %PATH%确认生效
如何避免每次都要 ./vendor/bin/phpunit?
项目级 CLI 工具推荐用 bin-dir 配置 + scripts,而不是全局安装——更可控、不污染环境、版本一致。
- 在项目
composer.json的config段加:{"config": {"bin-dir": "bin"}} - 执行
composer require --dev phpunit/phpunit,二进制会自动链接到bin/phpunit - 再在
scripts里定义:"test": "bin/phpunit"
,之后只需composer run test - 提交
bin/目录到 Git(软链接会被保留),团队成员拉代码后无需额外配置
真正卡住效率的,从来不是记不住命令,而是 PATH 没对、COMPOSER_HOME 路径含 ~ 或相对路径、改完配置没新开终端——这些地方一错,所有“快捷”都失效。










