laravel specify the routes for every role

I am trying to set up routing for different roles in my application but I am encountering an error. I want to know if the approach I am using is correct. I would like to specify the routes for each role and I am unsure if my method is the right one to achieve this.

This is my web.php file:

<?php

use IlluminateSupportFacadesAuth;
use IlluminateSupportFacadesRoute;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/


//guest pages
Route::get('/', function () {
  return redirect()->route('login');
});

Auth::routes();

route::middleware('auth')->group(function () {
  Route::get('/home', [AppHttpControllersHomeController::class, 'index'])->name('home');
  Route::middleware('hasRole:Super Admin')->prefix('SuperAdmin')->group(function () {
    Route::prefix('users')->group(function () {
      //users routes
      Route::get('', [AppHttpControllersUserController::class, 'index'])->name('users.index');
      Route::get('profile/{id}', [AppHttpControllersProfileController::class, 'show'])->name('profile.show');
      Route::put('profile/{id}', [AppHttpControllersProfileController::class, 'update'])->name('profile.update');
      Route::delete('/delete_user/{id}', [AppHttpControllersUserController::class, 'destroy'])->name('users.destroy');
      Route::get('ajouter_utilisateur', [AppHttpControllersUserController::class, 'create'])->name('user.create');
      Route::post('ajouter_utilisateur', [AppHttpControllersUserController::class, 'store'])->name('user.store');
    });
    Route::prefix('fournisseurs')->name('fournisseur.')->group(function () {
      //fournisseurs routes
      Route::get('', [AppHttpControllersFournisseurController::class, 'index'])->name('index');
      Route::delete('{id}', [AppHttpControllersFournisseurController::class, 'destroy'])->name('destroy');
      Route::get('edit_fournisseur/{id}', [AppHttpControllersFournisseurController::class, 'edit'])->name('edit');
      Route::put('fournisseurs/{id}', [AppHttpControllersFournisseurController::class, 'update'])->name('update');
      Route::get('ajouter_fournisseur', [AppHttpControllersFournisseurController::class, 'create'])->name('create');
      Route::post('ajouter_fournisseur', [AppHttpControllersFournisseurController::class, 'store'])->name('store');
    });
    Route::prefix('factures')->name('facture.')->group(function () {
      //factures routes
      Route::get('', [AppHttpControllersFactureController::class, 'index'])->name('index');
      Route::delete('{id}', [AppHttpControllersFactureController::class, 'destroy'])->name('destroy');
      Route::get('ajouter_facture', [AppHttpControllersFactureController::class, 'create'])->name('create');
      Route::post('ajouter_facture', [AppHttpControllersFactureController::class, 'store'])->name('store');
      Route::get('download/{id}', [AppHttpControllersFactureController::class, 'downloadFacture'])->name('downloadFacture');
    });
  });

  Route::middleware('hasRole:Admin')->prefix('Admin')->group(function () {
    Route::prefix('users')->group(function () {
      //users routes
      Route::get('', [AppHttpControllersUserController::class, 'index'])->name('users.index');
      Route::get('profile/{id}', [AppHttpControllersProfileController::class, 'show'])->name('profile.show');
      Route::put('profile/{id}', [AppHttpControllersProfileController::class, 'update'])->name('profile.update');
      Route::delete('/delete_user/{id}', [AppHttpControllersUserController::class, 'destroy'])->name('users.destroy');
      Route::get('ajouter_utilisateur', [AppHttpControllersUserController::class, 'create'])->name('user.create');
      Route::post('ajouter_utilisateur', [AppHttpControllersUserController::class, 'store'])->name('user.store');
    });
    Route::prefix('fournisseurs')->name('fournisseur.')->group(function () {
      //fournisseurs routes
      Route::get('', [AppHttpControllersFournisseurController::class, 'index'])->name('index');
    });
    Route::prefix('factures')->name('facture.')->group(function () {
      //factures routes
      Route::get('', [AppHttpControllersFactureController::class, 'index'])->name('index');
      Route::get('download/{id}', [AppHttpControllersFactureController::class, 'downloadFacture'])->name('downloadFacture');
    });
  });
});

And with this solution i get the error message

Optimization failed (See output console for more details)

Can someone help me to find out the solution for this issue or suggest me the right way to do it?