出现错误:nwidart 的“模块”命名空间中没有定义任何命令

问题描述 投票:0回答:2

我正在尝试开始使用 nwidarts 模块化 Laravel 架构。我刚刚根据其网站完成安装:https://nwidart.com/laravel-modules/v2/basic-usage/creating-a-module

现在,当我运行命令

php artisan module:make <module-name>
时,我收到错误:

[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "module" namespace.

我在我的 laravel 应用程序的根文件夹中运行它。所以我不完全确定我将其安装在正确的位置,但我的应用程序供应商文件夹中有一个 nwidart 文件夹和内容,所以我想我做得对吗?我做错了什么?

php laravel-5
2个回答
3
投票

按照命令指示进行操作

step 1: composer require nwidart/laravel-modules

step 2: php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"

step 3: insert in composer.json

   {
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Modules\\": "Modules/"
    }
  }
}

step 4: composer dump-autoload

0
投票

如果您按照 nwidart/laravel-modules 的安装步骤进行操作,但仍然遇到错误,则意味着该软件包可能已正确安装。但您的 Composer 文件可能存在问题。

我通过更新我的作曲家文件解决了这个问题,使用

composer update
命令确保依赖项是最新的并重新生成锁定文件。

然后它应该识别模块名称空间并正确生成模块文件。

© www.soinside.com 2019 - 2024. All rights reserved.