Laravel5.3を用いたJosh Admin templateのインストール」でLaravel5.3を用いてJosh Admin templateのインストールしましたが、Josh Admin templateの動作環境をLaravel6(LTS)にバージョンアップします。

ファイル「composer.json」の変更

ファイル「composer.json」の内容を次の手順で変更・追加・削除します。

変更

"php": ">=7.0.0",
      ⇒"php": ">=7.2",
"cartalyst/sentinel": "^2.0",
      ⇒"cartalyst/sentinel": "^3.0.0",
"cviebrock/eloquent-sluggable": "^4.2",
      ⇒"cviebrock/eloquent-sluggable": "^6.0.0",
"cviebrock/eloquent-taggable": "^3.2",
      ⇒"cviebrock/eloquent-taggable": "^6.0.0",

"fideloper/proxy": "~3.3",
      ⇒"fideloper/proxy": "^4.0",

"laravelcollective/html": "^5.5",
      ⇒"laravelcollective/html": "^6.0",
"yajra/laravel-datatables-oracle": "~8.0"
      ⇒"yajra/laravel-datatables-oracle": "^9.6"

"phpunit/phpunit": "~6.0"
      ⇒"phpunit/phpunit": "^8.0"

追加

"repositories": [
・・・
{
    "type": "path",
    "url": "./infyomlabs/generator-builder"
},
{
    "type": "path",
    "url": "./infyomlabs/core-templates"
}

削除

"infyomlabs/core-templates": "5.3.x-dev",
"infyomlabs/laravel-generator": "*",
"laravel/dusk": "^2.0",

全体

{
    "name": "jyostna/josh",
    "description": "Josh - Laravel Admin Template.",
    "keywords": ["framework", "laravel"],
    "license": "Envato Standard License",
    "type": "project",
    "repositories": [
        {
            "type": "path",
            "url": "./infyomlabs/laravel-generator"
        },
        {
            "type": "path",
            "url": "./infyomlabs/generator-builder"
        },
        {
            "type": "path",
            "url": "./infyomlabs/core-templates"
        }
    ],
    "require": {
        "php": ">=7.2",
        "cartalyst/sentinel": "^3.0.0",
        "cviebrock/eloquent-sluggable": "^6.0.0",
        "cviebrock/eloquent-taggable": "^6.0.0",
        "doctrine/dbal": "^2.5",
        "fideloper/proxy": "^4.0",
        "infyomlabs/generator-builder": "dev-master",
        "infyomlabs/swagger-generator": "dev-master",
        "intervention/image": "^2.4 ",
        "laravel/framework": "6.0.*",
        "laravel/helpers": "^1.0",
        "laravel/tinker": "~1.0",
        "laravelcollective/html": "^6.0",
        "yajra/laravel-datatables-oracle": "^9.6"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "^8.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

ファイル「app.php」の変更

ファイル「app.php」の内容を次の手順で削除します。

削除

Laracasts\Flash\FlashServiceProvider::class,
\InfyOm\Generator\InfyOmGeneratorServiceProvider::class,
\InfyOm\CoreTemplates\CoreTemplatesServiceProvider::class,

Josh Admin templateにLaravel6のインストール

上記の修正完了後、Josh Admin templateをインストールしたディレクトリに移動して、次のコマンド(「composer install –no-dev」あるいは「composer update」)を使ってLaravelファイルをinstallします。

>composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: cartalyst/sentinel
Discovered Package: cviebrock/eloquent-sluggable
Discovered Package: cviebrock/eloquent-taggable
Discovered Package: fideloper/proxy
Discovered Package: intervention/image
Discovered Package: laravel/tinker
Discovered Package: laravelcollective/html
Discovered Package: nesbot/carbon
Discovered Package: yajra/laravel-datatables-oracle
Package manifest generated successfully.

次のコマンドでインストールされたLaravelのバージョンを確認します。

>php artisan --version
Laravel Framework 6.0.4

Josh Admin templateの実行

Josh Admin templateを実行すると次のエラーが発生しました。

「laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. 」

原因は5.6からconfig/logging.phpが追加されたが、対応するファイルが設置されていないためで、「laravel/config/logging.php」からファイルを取得して設置します。