How to safely uninstall Voyager in Laravel?

2020-07-30 06:51发布

After update Laravel to 5.8.* Voyager is completely broken

Suddenly BREADS are broken, searchable is

Undefined variable

Call to a member function getTranslatedAttribute() on null

appears every time...

I am thinking about completely uninstall Voyager for good.

How do I uninstall it? Any hints, please?

2条回答
做自己的国王
2楼-- · 2020-07-30 07:13

To be honest never upgrade an existing project without preparation.

  1. Back-up your code (GIT is great)
  2. Back-up your database to reverse, if something gets broken.
  3. Repeat this also when upgrading a Drupal or WordPress website

To uninstall you need:

composer remove tcg/voyager

Also remove the routes from your routes/web.php

查看更多
我只想做你的唯一
3楼-- · 2020-07-30 07:25

Voyager entangles itself in the Laravel application so simply doing

composer remove tcg/voyager

may not be enough

  • remove larapack hooks repository from composer.json
"repositories": {
        "hooks": {
            "type": "composer",
            "url": "https://larapack.io"
        }
    }

Also delete the hooks directory on the root of your project

  • remove voyager routes from routes/web.php
Route::group(['prefix' => 'admin'], function () {
    Voyager::routes();
});
  • Remove Package information from config (if added)

File: config/app.php comment or delete following lines.

/*
 * Package Service Providers...
 */
TCG\Voyager\VoyagerServiceProvider::class,
  • Let the user model extends Auth\User instead of Voyager's user

From this

class User extends \TCG\Voyager\Models\User

To this

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
  • delete voyager config from config/voyager.php
  • remove voyager migrations from database/migrations
2016_01_01_000000_create_pages_table.php
2016_01_01_000000_create_posts_table.php
2016_02_15_204651_create_categories_table.php
2017_04_11_000000_alter_post_nullable_fields_table.php
  • remove database seeders from database/seeds
CategoriesTableSeeder.php
DataRowsTableSeeder.php
DataTypesTableSeeder.php
MenuItemsTableSeeder.php
MenusTableSeeder.php
PagesTableSeeder.php
PermissionRoleTableSeeder.php
PermissionsTableSeeder.php
PostsTableSeeder.php
RolesTableSeeder.php
SettingsTableSeeder.php
TranslationsTableSeeder.php
UsersTableSeeder.php
VoyagerDatabaseSeeder.php
VoyagerDummyDatabaseSeeder.php
  • And finally remove public/vendor/tcg folder to remove static assets
查看更多
登录 后发表回答