不能将 'Bake\Shell\CommonOptionsTrait' 用于命令 'common_options_trait' 它不是 Cake\Console\Shell 的子类

Cannot use 'Bake\Shell\CommonOptionsTrait' for command 'common_options_trait' it is not a subclass of Cake\Console\Shell

我已经通过 composer 安装了 cakephp 3.5,并尝试使用 cake bake 设置迁移文件。但出现以下错误:

Cannot use 'Bake\Shell\CommonOptionsTrait' for command 'common_options_trait' it is not a subclass of Cake\Console\Shell. in [C:\xampp\htdocs\myproject\vendor\cakephp\cakephp\src\Console\CommandCollection.php, line 65]

一切似乎都运行良好,包括默认的 cakephp 主页,但 bake 除外。我检查了 tmp 和 logs 文件夹是否可写,发现它们是可写的。我只是不知道是什么导致了这个异常??

以下详细信息可能会有所帮助:-

1)蛋糕PHP3.5.3

2) PHP 7.0.21

还有一件事,每当我调用 bake 命令时。它在日志文件夹下创建名为“cli-error.log”的错误日志。这是它记录的内容:-

2017-10-15 17:57:57 Error: [InvalidArgumentException] Cannot use 'Bake\Shell\CommonOptionsTrait' for command 'common_options_trait' it is not a subclass of Cake\Console\Shell. in C:\xampp\htdocs\hellocake\vendor\cakephp\cakephp\src\Console\CommandCollection.php on line 65

Stack Trace:

 #0 C:\xampp\htdocs\hellocake\vendor\cakephp\cakephp\src\Console\CommandCollection.php(85): Cake\Console\CommandCollection->add('common_options_...', 'Bake\Shell\Comm...')
 #1 C:\xampp\htdocs\hellocake\vendor\cakephp\cakephp\src\Http\BaseApplication.php(86): Cake\Console\CommandCollection->addMany(Array)
 #2 C:\xampp\htdocs\hellocake\vendor\cakephp\cakephp\src\Console\CommandRunner.php(120): Cake\Http\BaseApplication->console(Object(Cake\Console\CommandCollection))
 #3 C:\xampp\htdocs\hellocake\bin\cake.php(12): Cake\Console\CommandRunner->run(Array)
 #4 {main}

请帮忙。

这是一个最近已修复的错误:

https://github.com/cakephp/cakephp/issues/11326

确保更新您的应用程序 cakephp/bake 依赖项(一个简单的 composer update 应该可以做到)以便您安装 the lastest 1.4.4,问题应该得到解决。