Use Composer without Packagist

13,432

Solution 1

You should really be using a VCS repository instead of the package repository. Package is for when there is no composer.json and you want to specify it inline instead. In your case there is a composer.json, so you can use the VCS repo, like so:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/umpirsky/SyliusAssortmentBundle"
    }
]

Composer will in this case use the GitHub API to fetch the branch names and check if the version dev-soft-deleteable-products-disabled exists. If it does, it will clone the repository and check out said branch.

Hopefully if you do this as a side effect your problem will be fixed as well.

For more information read the docs chapter on repositories.

Solution 2

Satis can be used as a micro version of Packagist - allowing you to centrally control your Composer dependancies for private repositories.

Composer Guide to Satis Usage

Share:
13,432
umpirsky
Author by

umpirsky

Updated on July 15, 2022

Comments

  • umpirsky
    umpirsky almost 2 years

    Say for instance you want to use a bundle from someone else, but want to do some modifications. So you do your modifications in some new branch, and configure comspoer.json like:

    {
        "require": {
            "sylius/assortment-bundle": "dev-soft-deleteable-products-disabled"
        },
        "repositories": [
            {
                "type": "package",
                "package": {
                    "name": "sylius/assortment-bundle",
                    "version": "1.0",
                    "autoload": { "psr-0": { "Sylius\\Bundle\\AssortmentBundle": "" } },
                    "target-dir": "Sylius/Bundle/AssortmentBundle",
                    "source": {
                        "url": "https://github.com/umpirsky/SyliusAssortmentBundle.git",
                        "type": "git",
                        "reference": "soft-deleteable-products-disabled"
                    }
                }
            }
        ]
    }
    

    This works with master branch, but with custom branch it gives: The requested package sylius/assortment-bundle dev-soft-deleteable-products-disabled could not be found.

    Any idea?

  • umpirsky
    umpirsky over 11 years
    Thanks, that did the trick. Didn't know that repos can be defined like that, that's awesome.