Laravel Nova, маршрут не найден

Я установил Laravel Nova (используя Laravel 5.6). App\Providers\NovaServiceProvider::class зарегистрирован в моем config/app.php файл. Но когда я иду в https://localhost:1234/nova Я получаю 404 ошибка.

Я очистил свои кэши и запустил composer dump-autoload, Как я могу заставить этот маршрут работать?

РЕДАКТИРОВАТЬ: Когда я бегу php artisan route:list nova-api маршруты есть, но нет маршрута для nova,

Кроме того, миграции не были скопированы после nova:install, Я работаю с существующим проектом Laravel.

10 ответов

Решение

Вы должны очистить кеш конфигурации, чтобы изменения вступили в силу:

php artisan config:clear

Убедитесь, что App\Providers\NovaServiceProvider находится в списке вашего провайдера.

  • Идти к config/app.php
  • добавлять App\Providers\NovaServiceProvider::class, к providers

Обратите внимание, что этот ответ относится к ответу @jszobody и является прямым ответом на вопрос, который следует за вышеупомянутым твитом. https://twitter.com/taylorotwell/status/1032300773655408640

Без этого можно увидеть панель Nova, хотя она остается пустой. При новой установке в это время на панели инструментов появится карточка "Справка".

Я столкнулся с этой проблемой тоже. добавлять Nova::routes(); на ваш routes/web.php и перезагрузите /nova в вашем браузере.

Если вы отключили обнаружение пакетов / автообнаружение, настроив свой composer.json следующим образом:

"extra": {
    "laravel": {
        "dont-discover": [
            "*"
        ]
    }
}

Вам необходимо добавить псевдонимы NovaCoreServiceProvider и Nova в свой config/app.php вручную.

'providers' => [
    Laravel\Nova\NovaCoreServiceProvider::class,
],
'aliases' => [
    'Nova' => Laravel\Nova\Nova::class,
]

Если вы посмотрите на composer.json laravel/nova в папке вашего поставщика, вы увидите следующее:

"extra": {
    "laravel": {
        "providers": [
            "Laravel\\Nova\\NovaCoreServiceProvider"
        ],
        "aliases": {
            "Nova": "Laravel\\Nova\\Nova"
        }
    }
},

От Тейлора (если вы используете более раннюю версию, чем Nova 1.0.1):

Если у вас возникают проблемы с тем, что Nova не регистрирует маршрут / nova при использовании "php artisan serve"... попробуйте обновить Nova и обновить регистрацию вашего маршрута в NovaServiceProvider, чтобы соответствовать этому изображению... (добавьте "зарегистрироваться" в конце цепочки).

введите описание изображения здесь

https://twitter.com/taylorotwell/status/1032298042773393408

Просто, если ни одно из решений не работает, удалите файл поставщика и повторите попытку.

Один из вариантов — отладить, чтобы проверить все маршруты Nova. Добавьте указанные выше строки в функцию boot() класса NovaServiceProvider.

          public function boot()
    {
        parent::boot();
        Nova::serving(function (ServingNova $event) {
            $request = $event->request;
            \Log::debug(Nova::resourceInformation($request));
        }

Я понимаю, что прошло некоторое время с тех пор, как это было опубликовано, и есть другие ответы, но сегодня я столкнулся с той же проблемой, новой установкой, казалось бы, из ниоткуда, и решил ее, добавив

\Laravel\Nova\NovaCoreServiceProvider::classк providersмассив в config/app.php.

После этого я побежал artisan route:clearочистить и перестроить кеш маршрута, и проблема была решена.

Я понятия не имею, что могло вызвать эту проблему, так как я точно так же загрузил несколько новых проектов laravel с помощью nova и никогда не сталкивался с этой проблемой.

Я была такая же проблема. Решено, наконец, не забудьте включить перезапись HTTP.

a2enmod rewrite

затем перезапустите apache

sudo systemctl restart apache2

Проверьте , не требует ли маршрут идентификатор

например / студент /:id

Другие вопросы по тегам