正确做法是运行 composer create-project laravel-zero/laravel-zero my-cli-app 初始化项目,因其已改为模板分发而非独立包;需确保 Composer ≥2.2,目录为空,命令注册须手动添加到 config/commands.php。
用
初始化 Laravel Zero 项目
直接跑命令就行,Laravel Zero 官方已不再维护独立包,而是通过
模板分发。别去搜
—— 那个包早就废弃了,装了也跑不起来。
正确做法是:
确保 Composer 已安装且版本 ≥ 2.2(旧版可能拉不到最新模板)
运行:
进目录:
,然后
看是否输出帮助信息
注意:
不能是已存在的非空目录,否则 Composer 会报错
;如果想覆盖重装,先删掉再跑命令。
为什么
不是常规 Composer 包
Laravel Zero 是一个「应用模板」,不是你
进现有项目的库。它自带完整的
入口、预置的 Artisan 命令结构和 CLI 优化配置(比如自动禁用 Session、View、URL 生成等 Web 相关组件)。
常见误解:
试图在已有 Laravel 项目里
→ 不生效,框架没设计成可嵌入式
手动复制
改成
→ 缺少
的 CLI 特殊引导逻辑,命令注册会失败
用
创建后再改 → 多余,且容易漏掉
和
结构
本质区别:它是“开箱即 CLI”的完整骨架,不是插件。
Composer 2.9.6
Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。
下载
执行失败的三个高频原因
刚创建完一跑就报错?大概率卡在这几个点:
→ Composer 自动加载没刷新,执行
再试
→ 当前目录不对,或文件权限问题(Linux/macOS 下确认
有可执行权限:
)
输出一堆
或
→
下的类命名空间写错了,必须是
,且文件名要严格匹配(如
对应
类)
所有命令都走
文件,它不是符号链接,别删、别改、别重命名。
自定义命令后为什么不显示在
新写的命令不会自动注册,Laravel Zero 不像 Laravel Web 那样扫描
。它依赖显式声明:
命令类必须放在
目录下(不是
)
类需继承
(不是
)
必须在
中手动添加类名到
数组,例如:
漏掉第三步,命令就完全不可见——这个配置文件就是它的“命令注册表”,没有魔法扫描。
最常被跳过的其实是
的手动维护。很多人以为写完类就完事了,结果
里干干净净,查半天 autoload 或命名空间,其实只是忘了加一行配置。
composer create-projectlaravel-zero/frameworklaravel-zero/laravel-zerocomposer create-project laravel-zero/laravel-zero my-cli-appcd my-cli-appphp applicationmy-cli-appDestination directory is not emptylaravel-zero/frameworkrequireapplicationcomposer require laravel-zero/frameworkartisanapplicationbootstrap/app.phplaravel/installerconfig/commands.phpapp/Commands/php applicationClass 'LaravelZero\Framework\Kernel' not foundcomposer dump-autoloadCould not open input file: applicationapplicationchmod +x applicationReflectionExceptionTarget class [App\Commands\...] does not existapp/Commands/App\Commands\YourCommandHelloCommand.phpHelloCommandapplicationphp application listapp/Console/Commandsapp/Commands/app/Console/CommandsLaravelZero\Framework\Commands\CommandIlluminate\Console\Commandconfig/commands.php'commands'App\Commands\HelloCommand::classconfig/commands.phpphp application list