laravel命令报错多因环境配置问题:全局安装未生效、path未包含composer bin目录、artisan权限不足或路径错误、autoloader失效、版本升级导致commands目录结构变化。

laravel 命令在终端里报 command not found
说明 laravel 全局命令没装进系统 PATH,或者根本没成功全局安装。不是 Laravel 项目本身的问题,而是 CLI 工具链没搭好。
- 先确认是否真的执行了全局安装:
composer global require laravel/installer—— 注意必须加global,否则只装在当前项目里 - 检查 Composer 的全局 bin 目录是否在系统 PATH 中。常见路径有:
~/.composer/vendor/bin(Linux/macOS)、%USERPROFILE%\AppData\Roaming\Composer\vendor\bin(Windows) - Windows 用户容易漏掉:需要手动把该路径加进系统环境变量 PATH,且要重启终端(或 CMD/PowerShell)才生效
- macOS/Linux 用户如果用 zsh,可能需要在
~/.zshrc里追加:export PATH="$HOME/.composer/vendor/bin:$PATH",然后运行source ~/.zshrc
composer create-project 拉下来的项目里没有 artisan 命令
这通常不是命令丢失,而是当前目录不对,或者权限/文件损坏。artisan 是项目级脚本,只在 Laravel 项目根目录下有效。
- 确保你 cd 进了刚创建的项目根目录(里面有
artisan、composer.json、app/等),再运行php artisan - 检查
artisan文件是否存在且可执行:ls -l artisan;如果权限不对,用chmod +x artisan(Linux/macOS) - Windows 下不用管可执行权限,但要注意是否被杀毒软件误删或下载中断 —— 可尝试删掉整个项目重拉:
composer create-project laravel/laravel myproject - 如果提示
Could not open input file: artisan,基本就是路径错了,不是 Laravel 安装失败
laravel new 命令卡住或超时
本质是 laravel/installer 在后台调用 git clone 或 composer create-project,网络不稳或镜像源配置不当就会卡。
- 国内用户优先换 Composer 镜像:
composer config -g repo.packagist composer https://packagist.phpcomposer.com(或使用阿里云、腾讯云镜像) - 如果卡在
Cloning into 'xxx'...,大概率是 GitHub 被限速,可临时设置 Git 使用代理:git config --global http.proxy http://127.0.0.1:7890(根据你本地代理端口调整) - 更稳妥的做法是绕过
laravel new,直接用composer create-project laravel/laravel myproject,可控性更强 - 注意:某些公司内网禁用 Git 协议,此时必须用
https方式克隆,可在~/.composer/config.json加上:"github-protocols": ["https"]
artisan 命令报 Class 'App\Console\Commands\...' not found
这不是安装问题,而是自动加载失效,常见于手动移动文件、改名命名空间、或没跑 composer dump-autoload。
- 所有自定义 Artisan 命令都依赖 Composer 的 autoloader,改完
app/Console/Commands/下的类后,必须运行composer dump-autoload - 检查命令类的命名空间是否仍为
App\Console\Commands;如果项目改过应用命名空间(比如用php artisan app:name MyCompany),命令类也要同步更新 namespace - 如果用的是 Laravel 11+,注意默认命令不再放在
app/Console/Commands,而是app/Commands,且命名空间是App\Commands—— 不匹配就会找不到类 - 运行
php artisan list看命令是否出现在列表里,没出现 = autoloader 没扫到,别急着查语法











