Rashad Mirza logo
The best Laravel admin - Laravel Nova

The best Laravel admin - Laravel Nova

Rashad Mirza Apr 10, 2022
I first used Laravel Nova back in 2018 or 2019.
Then in 2021, I had another chance to meet Laravel Nova.
Today I tried to install Laravel Nova again for one of my projects.

I'll share my experience with you.

Which Laravel admin is the best?


I had a limited time. I should probably compare other admins too.

But we all know Taylor Otwell - the godfather of Laravel.

He is the owner of Laravel Nova and since I've been in this field for years, I know that Laravel Nova is the best.
If Taylor's name is on something, it will be enough for me to decide!

Taylor announced Laravel Nova 4 on Laracon 2022. Finally, I had a chance to test it.

How much does Laravel Nova cost?


I didn't want to waste my time and directly went to Laravel Nova's official website: https://nova.laravel.com.

All my licenses were created by other companies, so I had to buy a new license for this project.

They have a clear price policy: for a single project: $99; for an unlimited project: $199.

And it's a one-time payment, you buy the license, and that is it, no more monthly payments.

Since I will have a couple of projects, I chose unlimited $199. I think it's definitely worth the price.

How to install Laravel Nova 4


- Edit config/app.php and add
'license_key' => env('NOVA_LICENSE_KEY', ''),

- $ composer config repositories.nova '{"type": "composer", "url": "https://nova.laravel.com"}' --file composer.json

- Add "laravel/nova": "~4.0" to composer.json file

- $ composer update --prefer-dist

- $ php artisan nova:install

- $ php artisan migrate

- $ php artisan optimize:clear

How to create admin user on Laravel Nova?


Run the command below and it will ask Name, email, and password. Fill in the details, and you will be good to go.

$ php artisan nova:user

You can access nova admin on http://your_domain/nova

Laravel Nova install errors, issues


- First of all, when you run php artisan nova:install command, it will ask you to enter "username". You should write your e-mail address.
I'm not sure why Nova asks username instead of e-mail?!

- Then it will ask for your password, you should write your license key. Again, I'm not sure why Nova asks password instead of a license key?!

- It complained about "Call to a member function getKeyType() on null". I fixed it by editing:
laravel/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php

Change Line 902 to:
return $model && $model->getKeyType() === 'int' && $model->getIncrementing()

- Another issue was it couldn't find User Model, so I had to edit
laravel/vendor/laravel/nova/src/Nova.php

commented out line 567: // $model = Util::userModel();
and changed line 569 to: return tap((new User())->forceFill([

Despite these small issues, it helped me to create an admin in under 20 mins.

Thanks, Taylor Otwell and all the Laravel team!