Laravel Nova,找不到路线
Laravel Nova, route not found
我已经安装了 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 项目。
我运行也遇到过这个问题。将 Nova::routes();
添加到您的 routes/web.php
并在您的浏览器中重新加载 /nova
。
来自 Taylor(如果您使用的是比 Nova 1.0.1 更早的版本):
If you are having issues with Nova not registering a /nova route when using "php artisan serve"... try upgrading Nova and updating your route registration in your NovaServiceProvider to match this image... (add "register" on end of chain).
您必须清除配置缓存才能使更改实际应用:
php artisan config:clear
Verify App\Providers\NovaServiceProvider is in your provider list.
- 转到
config/app.php
- 将
App\Providers\NovaServiceProvider::class,
添加到providers
请注意,此答案与 相关,并且是对上述推文后续问题的直接回答。
https://twitter.com/taylorotwell/status/1032300773655408640
没有这个,就可以看到 Nova 面板,尽管它仍然是空的。此时全新安装将在仪表板上显示 "Help" 卡片。
如果您通过像这样调整 composer.json 来禁用 Package Discovery / Autodiscover:
"extra": {
"laravel": {
"dont-discover": [
"*"
]
}
}
您需要手动将 NovaCoreServiceProvider 和 Nova 别名添加到您的 config/app.php
。
'providers' => [
Laravel\Nova\NovaCoreServiceProvider::class,
],
'aliases' => [
'Nova' => Laravel\Nova\Nova::class,
]
如果您查看 vendor 文件夹中 laravel/nova 的 composer.json,您会看到:
"extra": {
"laravel": {
"providers": [
"Laravel\Nova\NovaCoreServiceProvider"
],
"aliases": {
"Nova": "Laravel\Nova\Nova"
}
}
},
我遇到了同样的问题。最后记得启用 HTTP 重写来解决。
a2enmod rewrite
然后重启apache
sudo systemctl restart apache2
检查路由是否不需要id
例如/student/:id
我意识到自发布以来已经有一段时间了,还有其他答案,但今天我遇到了同样的问题,一个全新的安装似乎不知从何而来,并通过添加解决了它
\Laravel\Nova\NovaCoreServiceProvider::class
到 config/app.php
中的 providers
数组。
这样做之后,我运行artisan route:clear
清除并重建路由缓存,问题就解决了。
我不知道是什么原因导致了这个问题,因为我用 nova 以完全相同的方式引导了多个新的 laravel 项目并且从未遇到过这个问题。
一个选项是调试以检查所有 Nova 路由。
在 NovaServiceProvider class boot() 函数中添加上面的行。
public function boot()
{
parent::boot();
Nova::serving(function (ServingNova $event) {
$request = $event->request;
\Log::debug(Nova::resourceInformation($request));
}
我已经安装了 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 项目。
我运行也遇到过这个问题。将 Nova::routes();
添加到您的 routes/web.php
并在您的浏览器中重新加载 /nova
。
来自 Taylor(如果您使用的是比 Nova 1.0.1 更早的版本):
If you are having issues with Nova not registering a /nova route when using "php artisan serve"... try upgrading Nova and updating your route registration in your NovaServiceProvider to match this image... (add "register" on end of chain).
您必须清除配置缓存才能使更改实际应用:
php artisan config:clear
Verify App\Providers\NovaServiceProvider is in your provider list.
- 转到
config/app.php
- 将
App\Providers\NovaServiceProvider::class,
添加到providers
请注意,此答案与
没有这个,就可以看到 Nova 面板,尽管它仍然是空的。此时全新安装将在仪表板上显示 "Help" 卡片。
如果您通过像这样调整 composer.json 来禁用 Package Discovery / Autodiscover:
"extra": {
"laravel": {
"dont-discover": [
"*"
]
}
}
您需要手动将 NovaCoreServiceProvider 和 Nova 别名添加到您的 config/app.php
。
'providers' => [
Laravel\Nova\NovaCoreServiceProvider::class,
],
'aliases' => [
'Nova' => Laravel\Nova\Nova::class,
]
如果您查看 vendor 文件夹中 laravel/nova 的 composer.json,您会看到:
"extra": {
"laravel": {
"providers": [
"Laravel\Nova\NovaCoreServiceProvider"
],
"aliases": {
"Nova": "Laravel\Nova\Nova"
}
}
},
我遇到了同样的问题。最后记得启用 HTTP 重写来解决。
a2enmod rewrite
然后重启apache
sudo systemctl restart apache2
检查路由是否不需要id
例如/student/:id
我意识到自发布以来已经有一段时间了,还有其他答案,但今天我遇到了同样的问题,一个全新的安装似乎不知从何而来,并通过添加解决了它
\Laravel\Nova\NovaCoreServiceProvider::class
到 config/app.php
中的 providers
数组。
这样做之后,我运行artisan route:clear
清除并重建路由缓存,问题就解决了。
我不知道是什么原因导致了这个问题,因为我用 nova 以完全相同的方式引导了多个新的 laravel 项目并且从未遇到过这个问题。
一个选项是调试以检查所有 Nova 路由。 在 NovaServiceProvider class boot() 函数中添加上面的行。
public function boot()
{
parent::boot();
Nova::serving(function (ServingNova $event) {
$request = $event->request;
\Log::debug(Nova::resourceInformation($request));
}