“‘command’命名空间中没有定义任何命令。”在 Laravel 中运行命令后:make

Posted

技术标签:

【中文标题】“‘command’命名空间中没有定义任何命令。”在 Laravel 中运行命令后:make【英文标题】:"There are no commands defined in the 'command' namespace." after running command:make in Laravel 【发布时间】:2015-11-30 12:00:14 【问题描述】:

就像标题一样。我试图逃避工匠

php artisan command:make NameOfCommand

但我看到的只是

There are no commands defined in the "command" namespace.

知道这是什么吗?

【问题讨论】:

按照@Narendrasingh 的回答建议使用php artisan make:command NameOfCommand 创建命令后,您必须按照@Alejandro 回答的建议在app/console/kernel 中注册您的命令,以便命令正常工作。 【参考方案1】:

正如文档所说(目前的版本是 5.2):

命令完成后,您需要向 Artisan 注册它,以便 它将可供使用。这是在 app/Console/Kernel.php 文件。

您必须在 Kernel.php 文件中添加: protected $commands = [ Commands\NameOfCommand::class ];

(参考:https://laravel.com/docs/5.2/artisan#registering-commands)

【讨论】:

就是这样。 (这里是 Laravel 8 用户) 是的@AkshayKNair,我们也必须在内核中注册我们的命令。【参考方案2】:

你放错了命令

php artisan make:command NameOfCommand

而不是

php artisan command:make NameOfCommand

如果你只是在命令提示符下写了php artisan,它会显示那里的命令列表看看

【讨论】:

谢谢,我不应该相信我在教程中看到的一切【参考方案3】:

在 laravel 5.2 中使用 php artisan make:console NameOfCommand

【讨论】:

以上是关于“‘command’命名空间中没有定义任何命令。”在 Laravel 中运行命令后:make的主要内容,如果未能解决你的问题,请参考以下文章