Voyager: Post install, after log in: Route [voyager.hooks] not defined

Created on 20 Sep 2017  路  17Comments  路  Source: the-control-group/voyager

Laravel Version: 5.4.36
Voyager Version: 1.0.1
PHP Version: 5.6.18

Description:

ErrorException
Route [voyager.hooks] not defined. (View: .../voyagercms.dev/vendor/tcg/voyager/resources/views/dashboard/sidebar.blade.php) (View: .../voyagercms.dev/vendor/tcg/voyager/resources/views/dashboard/sidebar.blade.php) (View: .../voyagercms.dev/vendor/tcg/voyager/resources/views/dashboard/sidebar.blade.php)

Steps To Reproduce:

Post Log in at /admin after
default install with dummy data

possible bug

Most helpful comment

@sergbbb Please make sure you have added those to the following line, the order of the providers is the issue in this case: https://github.com/laravel/laravel/blob/master/config/app.php#L170

I am working a fix for this.

All 17 comments

Is this an upgrade to 1.0 or a fresh install? Please make sure Hooks is installed (run composer update) and run php artisan route:list then post the results here.

fresh install

+--------+-----------+-----------------------------------------------+--------------------------------------------+----------------------------------------------------------------------------+----------------+
| Domain | Method    | URI                                           | Name                                       | Action                                                                     | Middleware     |
+--------+-----------+-----------------------------------------------+--------------------------------------------+----------------------------------------------------------------------------+----------------+
|        | GET|HEAD  | /                                             |                                            | Closure                                                                    | web            |
|        | GET|HEAD  | admin                                         | voyager.dashboard                          | \TCG\Voyager\Http\Controllers\VoyagerController@index                      | web,admin.user |
|        | GET|HEAD  | admin/categories                              | voyager.categories.index                   | \TCG\Voyager\Http\Controllers\VoyagerBreadController@index                 | web,admin.user |
|        | POST      | admin/categories                              | voyager.categories.store                   | \TCG\Voyager\Http\Controllers\VoyagerBreadController@store                 | web,admin.user |
|        | GET|HEAD  | admin/categories/create                       | voyager.categories.create                  | \TCG\Voyager\Http\Controllers\VoyagerBreadController@create                | web,admin.user |
|        | GET|HEAD  | admin/categories/{category}                   | voyager.categories.show                    | \TCG\Voyager\Http\Controllers\VoyagerBreadController@show                  | web,admin.user |
|        | DELETE    | admin/categories/{category}                   | voyager.categories.destroy                 | \TCG\Voyager\Http\Controllers\VoyagerBreadController@destroy               | web,admin.user |
|        | PUT|PATCH | admin/categories/{category}                   | voyager.categories.update                  | \TCG\Voyager\Http\Controllers\VoyagerBreadController@update                | web,admin.user |
|        | GET|HEAD  | admin/categories/{category}/edit              | voyager.categories.edit                    | \TCG\Voyager\Http\Controllers\VoyagerBreadController@edit                  | web,admin.user |
|        | GET|HEAD  | admin/compass                                 | voyager.compass.index                      | \TCG\Voyager\Http\Controllers\VoyagerCompassController@index               | web,admin.user |
|        | POST      | admin/compass                                 | voyager.compass.post                       | \TCG\Voyager\Http\Controllers\VoyagerCompassController@index               | web,admin.user |
|        | POST      | admin/database                                | voyager.database.store                     | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@store              | web,admin.user |
|        | GET|HEAD  | admin/database                                | voyager.database.index                     | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@index              | web,admin.user |
|        | POST      | admin/database/bread                          | voyager.database.bread.store               | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@storeBread         | web,admin.user |
|        | GET|HEAD  | admin/database/bread/delete_relationship/{id} | voyager.database.bread.delete_relationship | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@deleteRelationship | web,admin.user |
|        | POST      | admin/database/bread/relationship             | voyager.database.bread.relationship        | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@addRelationship    | web,admin.user |
|        | PUT       | admin/database/bread/{id}                     | voyager.database.bread.update              | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@updateBread        | web,admin.user |
|        | DELETE    | admin/database/bread/{id}                     | voyager.database.bread.delete              | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@deleteBread        | web,admin.user |
|        | GET|HEAD  | admin/database/create                         | voyager.database.create                    | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@create             | web,admin.user |
|        | PUT|PATCH | admin/database/{database}                     | voyager.database.update                    | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@update             | web,admin.user |
|        | GET|HEAD  | admin/database/{database}                     | voyager.database.show                      | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@show               | web,admin.user |
|        | DELETE    | admin/database/{database}                     | voyager.database.destroy                   | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@destroy            | web,admin.user |
|        | GET|HEAD  | admin/database/{database}/edit                | voyager.database.edit                      | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@edit               | web,admin.user |
|        | GET|HEAD  | admin/database/{table}/bread/create           | voyager.database.bread.create              | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@addBread           | web,admin.user |
|        | GET|HEAD  | admin/database/{table}/bread/edit             | voyager.database.bread.edit                | \TCG\Voyager\Http\Controllers\VoyagerDatabaseController@addEditBread       | web,admin.user |
|        | POST      | admin/login                                   | voyager.postlogin                          | \TCG\Voyager\Http\Controllers\VoyagerAuthController@postLogin              | web            |
|        | GET|HEAD  | admin/login                                   | voyager.login                              | \TCG\Voyager\Http\Controllers\VoyagerAuthController@login                  | web            |
|        | POST      | admin/logout                                  | voyager.logout                             | \TCG\Voyager\Http\Controllers\VoyagerController@logout                     | web,admin.user |
|        | GET|HEAD  | admin/media                                   | voyager.media.index                        | \TCG\Voyager\Http\Controllers\VoyagerMediaController@index                 | web,admin.user |
|        | POST      | admin/media/delete_file_folder                | voyager.media.delete_file_folder           | \TCG\Voyager\Http\Controllers\VoyagerMediaController@delete_file_folder    | web,admin.user |
|        | POST      | admin/media/directories                       | voyager.media.get_all_dirs                 | \TCG\Voyager\Http\Controllers\VoyagerMediaController@get_all_dirs          | web,admin.user |
|        | POST      | admin/media/files                             | voyager.media.files                        | \TCG\Voyager\Http\Controllers\VoyagerMediaController@files                 | web,admin.user |
|        | POST      | admin/media/move_file                         | voyager.media.move_file                    | \TCG\Voyager\Http\Controllers\VoyagerMediaController@move_file             | web,admin.user |
|        | POST      | admin/media/new_folder                        | voyager.media.new_folder                   | \TCG\Voyager\Http\Controllers\VoyagerMediaController@new_folder            | web,admin.user |
|        | POST      | admin/media/remove                            | voyager.media.remove                       | \TCG\Voyager\Http\Controllers\VoyagerMediaController@remove                | web,admin.user |
|        | POST      | admin/media/rename_file                       | voyager.media.rename_file                  | \TCG\Voyager\Http\Controllers\VoyagerMediaController@rename_file           | web,admin.user |
|        | POST      | admin/media/upload                            | voyager.media.upload                       | \TCG\Voyager\Http\Controllers\VoyagerMediaController@upload                | web,admin.user |
|        | POST      | admin/menus                                   | voyager.menus.store                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@store                 | web,admin.user |
|        | GET|HEAD  | admin/menus                                   | voyager.menus.index                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@index                 | web,admin.user |
|        | GET|HEAD  | admin/menus/create                            | voyager.menus.create                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@create                | web,admin.user |
|        | DELETE    | admin/menus/{menu}                            | voyager.menus.destroy                      | \TCG\Voyager\Http\Controllers\VoyagerBreadController@destroy               | web,admin.user |
|        | PUT|PATCH | admin/menus/{menu}                            | voyager.menus.update                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@update                | web,admin.user |
|        | GET|HEAD  | admin/menus/{menu}                            | voyager.menus.show                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@show                  | web,admin.user |
|        | GET|HEAD  | admin/menus/{menu}/builder                    | voyager.menus.builder                      | \TCG\Voyager\Http\Controllers\VoyagerMenuController@builder                | web,admin.user |
|        | GET|HEAD  | admin/menus/{menu}/edit                       | voyager.menus.edit                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@edit                  | web,admin.user |
|        | POST      | admin/menus/{menu}/item                       | voyager.menus.item.add                     | \TCG\Voyager\Http\Controllers\VoyagerMenuController@add_item               | web,admin.user |
|        | PUT       | admin/menus/{menu}/item                       | voyager.menus.item.update                  | \TCG\Voyager\Http\Controllers\VoyagerMenuController@update_item            | web,admin.user |
|        | DELETE    | admin/menus/{menu}/item/{id}                  | voyager.menus.item.destroy                 | \TCG\Voyager\Http\Controllers\VoyagerMenuController@delete_menu            | web,admin.user |
|        | POST      | admin/menus/{menu}/order                      | voyager.menus.order                        | \TCG\Voyager\Http\Controllers\VoyagerMenuController@order_item             | web,admin.user |
|        | GET|HEAD  | admin/pages                                   | voyager.pages.index                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@index                 | web,admin.user |
|        | POST      | admin/pages                                   | voyager.pages.store                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@store                 | web,admin.user |
|        | GET|HEAD  | admin/pages/create                            | voyager.pages.create                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@create                | web,admin.user |
|        | PUT|PATCH | admin/pages/{page}                            | voyager.pages.update                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@update                | web,admin.user |
|        | GET|HEAD  | admin/pages/{page}                            | voyager.pages.show                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@show                  | web,admin.user |
|        | DELETE    | admin/pages/{page}                            | voyager.pages.destroy                      | \TCG\Voyager\Http\Controllers\VoyagerBreadController@destroy               | web,admin.user |
|        | GET|HEAD  | admin/pages/{page}/edit                       | voyager.pages.edit                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@edit                  | web,admin.user |
|        | POST      | admin/posts                                   | voyager.posts.store                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@store                 | web,admin.user |
|        | GET|HEAD  | admin/posts                                   | voyager.posts.index                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@index                 | web,admin.user |
|        | GET|HEAD  | admin/posts/create                            | voyager.posts.create                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@create                | web,admin.user |
|        | GET|HEAD  | admin/posts/{post}                            | voyager.posts.show                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@show                  | web,admin.user |
|        | DELETE    | admin/posts/{post}                            | voyager.posts.destroy                      | \TCG\Voyager\Http\Controllers\VoyagerBreadController@destroy               | web,admin.user |
|        | PUT|PATCH | admin/posts/{post}                            | voyager.posts.update                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@update                | web,admin.user |
|        | GET|HEAD  | admin/posts/{post}/edit                       | voyager.posts.edit                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@edit                  | web,admin.user |
|        | GET|HEAD  | admin/profile                                 | voyager.profile                            | \TCG\Voyager\Http\Controllers\VoyagerController@profile                    | web,admin.user |
|        | GET|HEAD  | admin/roles                                   | voyager.roles.index                        | \TCG\Voyager\Http\Controllers\VoyagerRoleController@index                  | web,admin.user |
|        | POST      | admin/roles                                   | voyager.roles.store                        | \TCG\Voyager\Http\Controllers\VoyagerRoleController@store                  | web,admin.user |
|        | GET|HEAD  | admin/roles/create                            | voyager.roles.create                       | \TCG\Voyager\Http\Controllers\VoyagerRoleController@create                 | web,admin.user |
|        | PUT|PATCH | admin/roles/{role}                            | voyager.roles.update                       | \TCG\Voyager\Http\Controllers\VoyagerRoleController@update                 | web,admin.user |
|        | DELETE    | admin/roles/{role}                            | voyager.roles.destroy                      | \TCG\Voyager\Http\Controllers\VoyagerRoleController@destroy                | web,admin.user |
|        | GET|HEAD  | admin/roles/{role}                            | voyager.roles.show                         | \TCG\Voyager\Http\Controllers\VoyagerRoleController@show                   | web,admin.user |
|        | GET|HEAD  | admin/roles/{role}/edit                       | voyager.roles.edit                         | \TCG\Voyager\Http\Controllers\VoyagerRoleController@edit                   | web,admin.user |
|        | POST      | admin/settings                                | voyager.settings.store                     | \TCG\Voyager\Http\Controllers\VoyagerSettingsController@store              | web,admin.user |
|        | GET|HEAD  | admin/settings                                | voyager.settings.index                     | \TCG\Voyager\Http\Controllers\VoyagerSettingsController@index              | web,admin.user |
|        | PUT       | admin/settings                                | voyager.settings.update                    | \TCG\Voyager\Http\Controllers\VoyagerSettingsController@update             | web,admin.user |
|        | DELETE    | admin/settings/{id}                           | voyager.settings.delete                    | \TCG\Voyager\Http\Controllers\VoyagerSettingsController@delete             | web,admin.user |
|        | GET|HEAD  | admin/settings/{id}/delete_value              | voyager.settings.delete_value              | \TCG\Voyager\Http\Controllers\VoyagerSettingsController@delete_value       | web,admin.user |
|        | GET|HEAD  | admin/settings/{id}/move_down                 | voyager.settings.move_down                 | \TCG\Voyager\Http\Controllers\VoyagerSettingsController@move_down          | web,admin.user |
|        | GET|HEAD  | admin/settings/{id}/move_up                   | voyager.settings.move_up                   | \TCG\Voyager\Http\Controllers\VoyagerSettingsController@move_up            | web,admin.user |
|        | POST      | admin/upload                                  | voyager.upload                             | \TCG\Voyager\Http\Controllers\VoyagerController@upload                     | web,admin.user |
|        | POST      | admin/users                                   | voyager.users.store                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@store                 | web,admin.user |
|        | GET|HEAD  | admin/users                                   | voyager.users.index                        | \TCG\Voyager\Http\Controllers\VoyagerBreadController@index                 | web,admin.user |
|        | GET|HEAD  | admin/users/create                            | voyager.users.create                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@create                | web,admin.user |
|        | PUT|PATCH | admin/users/{user}                            | voyager.users.update                       | \TCG\Voyager\Http\Controllers\VoyagerBreadController@update                | web,admin.user |
|        | DELETE    | admin/users/{user}                            | voyager.users.destroy                      | \TCG\Voyager\Http\Controllers\VoyagerBreadController@destroy               | web,admin.user |
|        | GET|HEAD  | admin/users/{user}                            | voyager.users.show                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@show                  | web,admin.user |
|        | GET|HEAD  | admin/users/{user}/edit                       | voyager.users.edit                         | \TCG\Voyager\Http\Controllers\VoyagerBreadController@edit                  | web,admin.user |
|        | GET|HEAD  | api/user                                      |                                            | Closure                                                                    | api,auth:api   |
|        | GET|HEAD  | arrilot/load-widget                           |                                            | Arrilot\Widgets\Controllers\WidgetController@showWidget                    |                |
+--------+-----------+-----------------------------------------------+--------------------------------------------+----------------------------------------------------------------------------+----------------+

Hm... seems like you don't have Hooks installed. Did you run composer update?

cc: @marktopper

Yes, ran composer update

Please run composer show and look for hooks. It's listed as a dependency for Voyager, so there's no reason it shouldn't be there.

I am looking into this issue, for a current work-around you can add the service provider TCG\Voyager\VoyagerServiceProvider yourself under the on this line: https://github.com/laravel/laravel/blob/master/config/app.php#L170

I will get up with a fix fast I hope.

I looked at the Hooks docs, it was installed, but since it's 5.4 I added all of these service providers:

TCG\Voyager\VoyagerServiceProvider::class,
Larapack\Hooks\HooksServiceProvider::class,
Larapack\VoyagerHooks\VoyagerHooksServiceProvider::class,

rather than just
TCG\Voyager\VoyagerServiceProvider::class,

to config/app.php

Which has fixed the error

Thanks for the update, I will get this fixed.

Doh! Sorry, I didn't notice you were on 5.4. Yes, you would need to add all of those.

Same issue. But ufter update from Voyager 0.11

Laravel Version: 5.4.36
Voyager Version: 1.0.1
PHP Version: 5.6.18

Added to /config/app.php
TCGVoyagerVoyagerServiceProvider::class,
LarapackHooksHooksServiceProvider::class,
LarapackVoyagerHooksVoyagerHooksServiceProvider::class,

But nothing changed.

Route listener added (voyager.admin.routing), but it is not fired =(

@sergbbb Please make sure you have added those to the following line, the order of the providers is the issue in this case: https://github.com/laravel/laravel/blob/master/config/app.php#L170

I am working a fix for this.

Same issue too.

Updated from Laravel 5.3 to 5.4,
then updated Voyager from 0.11 to 1.0.1

Also added
TCGVoyagerVoyagerServiceProvider::class,
LarapackHooksHooksServiceProvider::class,
LarapackVoyagerHooksVoyagerHooksServiceProvider::class,

to the line that was specified earlier, and had no change.

Also noticed that when the seeder for menu items ran the route column was null for admin/compass and admin/hooks

screen shot 2017-09-21 at 6 47 32 pm

not sure if that helps but thought I'd point it out.

For the route field comment, that's because it's using a URL instead (note the url field). I'll have a PR to change that changed in the next release.

@whyayala This is a known issue with Laravel 5.4 and hooks. I am working on a fix.

Meanwhile, please make sure you have added the service providers to following line, the order of the providers is the issue in this case: https://github.com/laravel/laravel/blob/master/config/app.php#L170

This _shouldn't_ be a problem anymore. Please let us know if this still occurs.

This issue has been automatically locked since there has not been any recent activity after it was closed. If you have further questions please ask in our Slack group.

Was this page helpful?
0 / 5 - 0 ratings