0
votes

When i use "composer require x/y" command inside my custom package all done. Getting all dependencies perfectly.

But when i try to add to laravel project from bitbucket repository, only install my package without all dependencies.

I set my private repository to laravel composer.json file

"repositories": {
    "hooks": {
        "type":"package",
        "package": {
            "name": "x/y",
            "version":"1.0.2",
            "source": {
                "url": "https://{username}@bitbucket.org/x/y.git",
                "type": "git",
                "reference": "master"
            }
        }
    }
}

My custom repository composer.json

{
        "name": "x/y",
        "description": "Base Api System",
        "license": "MIT",
        "require": {
            "php": "^7.2",
            "tcg/voyager": "^1.1",
            "predis/predis": "1.1",
            "monarobase/country-list": "^2.0"
        },
        "require-dev": {
        },
        "autoload": {
            "psr-4": {
                "X\\Y\\": "src/"
            }
        },
        "minimum-stability": "dev",
        "extra": {
            "laravel": {
                "providers": [
                    "X\\Y\\XYServiceProvider"
                ]
            }
        }
    }

Composer require output

Using version ^1.0 for x/y
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing x/y (1.0.2): Cloning master from cache
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
1
What does composer show | grep monarobase display?Kyslik

1 Answers

0
votes

You're using package type incorrectly. This type is for non-composer packages. Composer will not even look at composer.json file in such dependency, since it assumes that this file does not exist. All relevant information about package should be in package definition in repositories setting in composer.json of main (root) application.

But in your case you have repository with complete composer package (with correct composer.json file), so you should vcs or git type:

"repositories": [
    {
        "type":"git",
        "url": "https://{username}@bitbucket.org/x/y.git"
    }
]