独学者Fossa

独学していることなど

Laravel Module Installer

github.com

Laravel Module Installer

Laravel Modulesで作成したModuleを、Composerでインストールするには、Laravel Module Installerを使います。

今回は、ローカルパッケージとして作成しているので、下記の記事も参考にしてください。

fossa-hobby.hatenablog.com

使用したソフトとバージョン

Name Version
PHP 7.4.18
Laravel 8.44.0

laravel-module-installerをインストールする

composer require joshbrw/laravel-module-installer

Laravelのcomposer.json

vendorフォルダにインストールするために、記述します。

    "require": {
        "php": "^7.3|^8.0",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "laravel/framework": "^8.12",
        "laravel/tinker": "^2.5",
        "nwidart/laravel-modules": "^8.0",
        "joshbrw/laravel-module-installer": "^2.0",
        "wikimedia/composer-merge-plugin": "^2.0",
        "modules/admin-module": "dev-master"
    },
    "repositories": [
        {
            "type": "path",
            "url": "../packages/modules/admin-module",
            "options": {
                "symlink": false
            }
        }
    ]

モジュール内のcomposer.json

Admin Module内のcomposer.json

  • nameは、<vendor名>/<module名>-moduleにすること
  • typeは、laravel-moduleにすること
{
    "name": "modules/admin-module",
    "type": "laravel-module",
    "description": "Admin Module",
    "authors": [
        {
            "name": "fossa",
            "email": "fossa.opll@gmail.com"
        }
    ],
    "extra": {
        "laravel": {
            "providers": [],
            "aliases": {

            }
        }
    },
    "autoload": {
        "psr-4": {
            "Modules\\Admin\\": ""
        }
    }
}

composer update

composer update

vendor/modules/admin-moduleに入った後、Modules/Adminフォルダに、インストールされます。

後記

今までは、Laravelをインスールする度に、Admin Moduleを、手作業で、コピーしていました。

これからは、ローカルパッケージとして作成しておいて、Modulesフォルダにインストールできる方が、便利ですね。

ローカルパッケージを更新すると、Modules/Adminフォルダに存在していたnode_modulesが消えますね。

参考リンク