我正在尝试开始使用 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 文件夹和内容,所以我想我做得对吗?我做错了什么?
按照命令指示进行操作
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
如果您按照 nwidart/laravel-modules 的安装步骤进行操作,但仍然遇到错误,则意味着该软件包可能已正确安装。但您的 Composer 文件可能存在问题。
我通过更新我的作曲家文件解决了这个问题,使用
composer update
命令确保依赖项是最新的并重新生成锁定文件。
然后它应该识别模块名称空间并正确生成模块文件。