laravel new 命令失败的根本原因是 composer 未就绪或国内网络无法拉取包,本质是 composer create-project 环节卡住;需确保 composer ≥2.5、配置国内镜像源、安装 laravel/installer 或直接用 composer 创建项目。

laravel new 命令为什么有时失败?
根本原因通常是 Composer 未就绪或国内网络拉不到包。不是 Laravel 本身的问题,而是依赖安装环节卡在 composer create-project 这一步。
- 确保已全局安装最新版
composer(运行composer --version看是否 ≥2.5) - 国内用户必须提前配置镜像源:
composer config -g repo.packagist composer https://packagist.phpcomposer.com或用阿里云源 - 如果提示
zsh: command not found: laravel,说明没装 Laravel 安装器,别急着跑laravel new,先装它
不装 laravel/installer,直接用 composer 创建项目行不行?
完全可以,而且更可控。官方推荐的 laravel new 只是封装了一层,底层仍是 composer create-project。
- 推荐命令:
composer create-project laravel/laravel myproject "11.*"(指定 Laravel 11) - 版本号写
"11.*"比"^11.0"更稳妥,避免意外升到预发布版 - 若跳过 Git 初始化,加
--no-interaction;想省磁盘空间,加--no-dev(但开发时别加) - 注意:Laravel 11 要求 PHP ≥8.2,
composer会报错但提示模糊,建议先确认php -v
初始化后 php artisan serve 启动失败怎么办?
常见于权限、端口或扩展缺失,不是项目没建好,而是本地运行环境没配齐。
- 错误
Failed to listen on 127.0.0.1:8000:端口被占,改用php artisan serve --port=8001 - 错误
Class 'PDO' not found:PHP 缺少 pdo 扩展,Ubuntu 上运行sudo apt install php-pdo,macOS 用brew install php@8.2并检查php.ini是否启用extension=pdo.so - 首次启动慢?可能是 OPCache 未启用或
storage/目录权限不对,手动运行chmod -R 775 storage bootstrap/cache
项目目录里哪些文件能删、哪些动不得?
新手常误删关键引导文件,导致后续命令失效或路由不工作。
- 绝对不能删:
artisan(入口脚本)、server.php(PHP 内置服务器入口)、public/index.php(Web 请求唯一入口) -
vendor/可删,但删完必须重跑composer install;node_modules/同理,但前端构建不依赖它也能跑基础后端 -
tests/和phpunit.xml可删,不影响运行,但单元测试功能就没了 - 改
.env之前务必复制一份备份,漏写APP_KEY会导致加密失败、Session 无法写入
vendor 和 public 目录职责的理解。很多人反复重装 Laravel,其实问题出在 php.ini 里一个没开的扩展,或者 Composer 没切对源。











