Композитор Symfony2 добавляет собственное требование к пакету


Как я могу установить определенный пакет (например, SonataGoutteBundle) в мой проект Symfony2 через composer?

Я пробовал это, но у меня это не работает. Есть идеи, что случилось?

"repositories": [
    {
        "type": "package",
        "package": {
            "name": "sonata-project/sonatagouttebundle",
            "version": "dev-master",
            "dist": {
                "url": "https://github.com/sonata-project/SonataGoutteBundle.git",
                "type": "git"
            }
        }
    }
],
"require": {
     "php": ">=5.3.3",
     [...],
     "sonata-project/sonatagouttebundle": "dev-master"
}
Author: j0k, 2012-07-14

2 answers

Попробуйте что-то вроде

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/sonata-project/SonataGoutteBundle.git"
        }
    ],

    "require": {
        "php": ">=5.3.3",
        "vendor/bundle": "dev-master"
    }
}

SonataGoutteBundle должен иметь композитора.json

В данном конкретном случае это сработало бы:

"repositories": [
    {
        "type": "package",
        "package": {
            "name": "sonata-project/goutte",
            "version": "dev-master",
            "source": {
                    "url": "https://github.com/sonata-project/SonataGoutteBundle.git",
                    "type": "git",
                    "reference": "master"
                }
        }
    }
],
"require": {
     "php": ">=5.3.3",
     "sonata-project/goutte": "dev-master"
}

Для всех опций см. документацию

 4
Author: Federkun, 2012-07-14 19:41:45

Вы должны предоставить ссылку на архив (например, zip) в разделе "dist". Если вы хотите использовать git, вам следует вместо этого определить раздел "источник":

{
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "sonata-project/sonatagouttebundle",
                "version": "dev-master",
                "source": {
                    "url": "https://github.com/sonata-project/SonataGoutteBundle.git",
                    "type": "git",
                    "reference": "master"
                }
            }
        }
    ],
    "require": {
        "php": ">=5.3.3",
        "sonata-project/sonatagouttebundle": "dev-master"
    }
}

Подробнее об определении пользовательских репозиториев: http://getcomposer.org/doc/04-schema.md#repositories

 3
Author: Jakub Zalas, 2012-07-14 19:43:18