【问题标题】:How to safely uninstall Voyager in Laravel?如何在 Laravel 中安全卸载 Voyager?
【发布时间】:2020-01-27 04:11:42
【问题描述】:

将 Laravel 更新到 5.8 后。* Voyager 完全损坏

突然BREADS坏了,可搜索的是

未定义的变量

在 null 上调用成员函数 getTranslatedAttribute()

每次都会出现...

我正在考虑彻底卸载 Voyager。

如何卸载它?请问有什么提示吗?

【问题讨论】:

    标签: laravel voyager


    【解决方案1】:

    Voyager 将自己纠缠在 Laravel 应用程序中,这样做很简单

    composer remove tcg/voyager
    

    可能还不够

    • composer.json 中移除 larapack hooks 仓库
    "repositories": {
            "hooks": {
                "type": "composer",
                "url": "https://larapack.io"
            }
        }
    

    同时删除项目根目录下的hooks 目录

    • routes/web.php中删除航海者路线
    Route::group(['prefix' => 'admin'], function () {
        Voyager::routes();
    });
    
    • 从配置中删除包信息(如果添加)

    文件:config/app.php 评论或删除以下行。

    /*
     * Package Service Providers...
     */
    TCG\Voyager\VoyagerServiceProvider::class,
    
    • 让用户模型扩展 Auth\User 而不是 Voyager 的用户

    从这里

    class User extends \TCG\Voyager\Models\User
    

    到这里

    use Illuminate\Foundation\Auth\User as Authenticatable;
    
    class User extends Authenticatable
    
    • config/voyager.php删除航海者配置
    • 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
    
    • 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
    
    • 最后删除 public/vendor/tcg 文件夹以删除静态资产

    【讨论】:

    • 我想我找到了这个错误。设置服务器端分页时出现此错误。
    • 是的,这把事情搞砸了。列表不再适用于大量用户。如果您仍然想完全摆脱 Voyager,请不要忘记删除相应的数据库表。
    • 不需要删除 Intervention\Image\ImageServiceProvider????
    • 这不一定和 Voyager 有关,它是用于图像处理的不同包
    • 对于迁移,如果您已经运行它们,最好只使用“dropIfExists”编写新的迁移来删除这些表。仅仅删除文件是不够的。
    【解决方案2】:

    说实话,不要在没有准备的情况下升级现有项目。

    1. 备份您的代码(GIT 很棒)
    2. 备份您的数据库以备不时之需。
    3. 在升级 Drupal 或 WordPress 网站时也重复此操作

    要卸载你需要:

    composer remove tcg/voyager
    

    同时从你的 routes/web.php 中删除路由

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 2019-04-04
      • 2020-10-25
      • 1970-01-01
      • 2020-11-13
      • 2012-08-11
      • 2018-10-25
      • 2018-03-24
      • 2018-07-31
      相关资源
      最近更新 更多