laravel-permission: ErrorException : Trying to access array offset on value of type null. On fresh laravel installation.

I can’t install the package on my recent laravel project. It works fine on the previous ones. Here is the error I get

`composer require spatie/laravel-permission Using version ^3.6 for spatie/laravel-permission ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 1 removal

  • Removing spatie/laravel-view-components (1.2.0)
  • Installing spatie/laravel-permission (3.6.0): Loading from cache Writing lock file Generating optimized autoload files

Illuminate\Foundation\ComposerScripts::postAutoloadDump @php artisan package:discover --ansi

ErrorException : Trying to access array offset on value of type null

at /home/abdellah/Documents/PROJECTS/Bank/vendor/spatie/laravel-permission/src/PermissionServiceProvider.php:61 57| protected function registerModelBindings() 58| { 59| $config = $this->app->config[‘permission.models’]; 60|

61| $this->app->bind(PermissionContract::class, $config[‘permission’]); 62| $this->app->bind(RoleContract::class, $config[‘role’]); 63| } 64| 65| protected function registerBladeExtensions()

Exception trace:

1 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError() /home/abdellah/Documents/PROJECTS/Bank/vendor/spatie/laravel-permission/src/PermissionServiceProvider.php:61

2 Spatie\Permission\PermissionServiceProvider::registerModelBindings() /home/abdellah/Documents/PROJECTS/Bank/vendor/spatie/laravel-permission/src/PermissionServiceProvider.php:36

Please use the argument -v to see more details. Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Installation failed, reverting ./composer.json to its original content.`

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 29

Commits related to this issue

Most upvoted comments

Solution:

php artisan config:clear

or

sail artisan config:clear

Solution

Simple solution: delete the config/permission.php file that you added prior to installing this package.

I don’t have the permission.php file in the config folder.

it’s 7.4.2, runs on both 7.4.1 and 7.4.3

Strange.

What’s different between your environment and mine? (I’m using Valet 2.8.1, with latest composer self-update, latest composer global update, and latest brew upgrade, all updated this morning)

php -v
PHP 7.4.3 (cli) (built: Feb 20 2020 12:23:37) ( NTS )

> laravel new baz2
Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 85 installs, 0 updates, 0 removals
...
  - Installing laravel/framework (v6.17.1): Loading from cache
  - Installing fideloper/proxy (4.3.0): Loading from cache
  - Installing jakub-onderka/php-console-color (v0.2): Loading from cache
  - Installing nikic/php-parser (v4.3.0): Loading from cache
  - Installing jakub-onderka/php-console-highlighter (v0.4): Loading from cache
  - Installing dnoegel/php-xdg-base-dir (v0.1.1): Loading from cache
  - Installing psy/psysh (v0.9.12): Loading from cache
  - Installing laravel/tinker (v2.2.0): Loading from cache
  - Installing scrivo/highlight.php (v9.18.1.1): Loading from cache
  - Installing filp/whoops (2.7.1): Loading from cache
...
Generating optimized autoload files
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
> @php artisan key:generate --ansi
Application key set successfully.
cd> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
 Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
Application ready! Build something amazing.

> cd baz2
baz2 > composer require spatie/laravel-permission
Using version ^3.9 for spatie/laravel-permission
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing spatie/laravel-permission (3.9.0): Loading from cache
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: spatie/laravel-permission
Package manifest generated successfully.

Thanks for posting back. I’m glad you found where the problem was! 👍