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, чтобы соответствовать этому изображению... (добавьте "зарегистрироваться" в конце цепочки).
Просто, если ни одно из решений не работает, удалите файл поставщика и повторите попытку.
Один из вариантов — отладить, чтобы проверить все маршруты 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