在没有 Packagist 的情况下使用 Composer [英] Use Composer without Packagist

查看:30
本文介绍了在没有 Packagist 的情况下使用 Composer的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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?

解决方案

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.

这篇关于在没有 Packagist 的情况下使用 Composer的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆