猿问

如何将自定义作曲家包放在 Laravel 的供应商文件夹之外?

我需要将我的 zodiac 包从 vendor 文件夹放到我的 laravel 根目录中的 packages 文件夹中,以便自定义一些数据。目前我在根目录下创建了 packages 文件夹,从 vendor/intervetion 中剪切了我的 zodiac 文件夹并将其粘贴到 packages 文件夹中。然后在我的 composer.json 中,我将代码放在下面。


作曲家.json


{

    "name": "laravel/laravel",

    "type": "project",

    "description": "The Laravel Framework.",

    "keywords": [

        "framework",

        "laravel"

    ],

    "license": "MIT",

    "require": {

        "php": "^7.2",

        "fideloper/proxy": "^4.0",

        "guzzlehttp/guzzle": "^6.5",

        "intervention/image": "^2.5",

        "intervention/zodiac": "dev-master",  // HERE I ADDED THIS!!!!!

        "laravel-notification-channels/messagebird": "^2.1",

        "laravel/framework": "^6.2",

        "laravel/socialite": "^4.3",

        "laravel/tinker": "^2.0",

        "laravel/ui": "^1.1",

        "predis/predis": "^1.1"

    },

    "require-dev": {

        "barryvdh/laravel-debugbar": "^3.2",

        "facade/ignition": "^1.4",

        "fzaninotto/faker": "^1.4",

        "jason-guru/laravel-make-repository": "^0.0.2",

        "mockery/mockery": "^1.0",

        "nunomaduro/collision": "^3.0",

        "phpunit/phpunit": "^8.0"

    },

    "config": {

        "optimize-autoloader": true,

        "preferred-install": "dist",

        "sort-packages": true

    },

    "repositories": [

        {

            "type": "path",

            "url": "./packages/zodiac"  // HERE I ADDED THIS "repositories"!!!!!

        }

    ],

    "extra": {

        "laravel": {

            "dont-discover": []

        }

    },

    "autoload": {

        "psr-4": {

            "App\\": "app/"

        },

        "classmap": [

            "database/seeds",

            "database/factories"

        ]

    },

    "autoload-dev": {

        "psr-4": {

            "Tests\\": "tests/"

        }

    },


在此之后,当我点击 composer update 和 composer dump-autoload 时,laravel 在 vendor/intervetion 文件夹中创建了新的 zodiac 文件夹,我又开始了。任何帮助表示赞赏。


阿波罗的战车
浏览 94回答 1
1回答

隔江千里

为了实现这一点,您只需要通过将此行添加到您的 composer.json 来自动加载包"autoload": {&nbsp; &nbsp; "psr-4": {&nbsp; &nbsp; &nbsp; &nbsp; "App\\": "app/",&nbsp; &nbsp; &nbsp; &nbsp; "Intervention\\Zodiac\\": "packages/zodiac/src/" <-- add this line&nbsp; &nbsp; },并删除"intervention/zodiac": "dev-master"运行命令composer dum实现所需内容的更好方法是将 Intervention/zodiac 存储库分叉到你的 github 帐户,在那里进行更改,然后安装你的自定义分叉包。
随时随地看视频慕课网APP
我要回答