【问题标题】:Cannot use 'Bake\Shell\CommonOptionsTrait' for command 'common_options_trait' it is not a subclass of Cake\Console\Shell不能将 'Bake\Shell\CommonOptionsTrait' 用于命令 'common_options_trait' 它不是 Cake\Console\Shell 的子类
【发布时间】:2018-03-27 06:17:42
【问题描述】:

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

不能将“Bake\Shell\CommonOptionsTrait”用于命令“common_options_trait”,它不是 Cake\Console\Shell 的子类。在 [C:\xampp\htdocs\myproject\vendor\cakephp\cakephp\src\Console\CommandCollection.php,第 65 行]

一切似乎都运行良好,包括默认的 cakephp 主页,除了烘焙。我检查了 tmp 和 logs 文件夹是否可写,发现它们是可写的。我只是无法弄清楚是什么导致了这个异常?

以下细节可能会有所帮助:-

1) CakePHP 3.5.3

2) PHP 7.0.21

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

2017-10-15 17:57:57 错误:[InvalidArgumentException] 不能对命令“common_options_trait”使用“Bake\Shell\CommonOptionsTrait”,它不是 Cake\Console\Shell 的子类。在 C:\xampp\htdocs\hellocake\vendor\cakephp\cakephp\src\Console\CommandCollection.php 第 65 行

堆栈跟踪:

 #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}

请帮忙。

【问题讨论】:

    标签: php shell cakephp cakephp-bake


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 2020-11-15
      • 2017-10-08
      • 1970-01-01
      • 2011-03-28
      • 2021-05-22
      相关资源
      最近更新 更多