简体   繁体   中英

Composer Path Repositories without a package manager

Since composer merge plugin is deprecated and the alternative is use of composer path repositories I found a problem transitioning to the later.

My structure is:

/composer.json

/local/composer.json

Where /composer.json is main composer with all setup and /local/composer.json is a file managing only private repositories.

Contents of each file are:

#/composer.json
{
    "name": "main/project",
    "type": "project",
    "repositories": [
        {
            "type": "path",
            "url": "local"
        }
    ],
    "require": {
        "sub/project": "dev-main"
    },
    "extra": {
        "installer-paths": {
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ]
        }
    }
}
 #/local/composer.json
    {
        "name": "sub/project",
        "autoload": {},
        "repositories": {
            "test_repo": {
                "type": "git",
                "url": "git@github.com:rotari/test_repo.git"
            }
        },
        "require": {
            "rotari/test_repo": "dev-main"
        }
    }

As you can see the plan is simple: main composer requires sub/project and sub/project requires rotari/test_repo. However on install I'm prompted with error

sub/project dev-main requires rotari/test_repo dev-main -> could not be found in any version

Running composer install in /local is a success so there is no problem accessing rotari/test_repo.

Any idea or suggestions how this issue could be solved?

This part from documentation answers my quetion:

https://getcomposer.org/doc/faqs/why-cant-composer-load-repositories-recursively.md

Composer in not able to load repositories recursively.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM