Вопрос по php, composer-php, zend-framework, package – Пакеты Zend Framework Composer

12

Я хотел бы добавить зависимость кzendframework/zend-db пакет, поэтому я добавил его в свой composer.json:

"repositories": [
    {
        "type": "composer",
        "url": "http://packages.zendframework.com/"
    }
],
"require": {
    "php": ">=5.3.2",

    "symfony/class-loader":  "dev-master",
    "symfony/console":       "dev-master",
    "symfony/filesystem":    "dev-master",
    "symfony/finder":        "dev-master",
    "symfony/locale":        "dev-master",
    "symfony/yaml":          "dev-master",
    "doctrine/dbal":         "dev-master",
    "zendframework/zend-db": "dev-master"
}

Проблема в том, что композитор устанавливает всеzendframework/zendframework пакет.

Есть идеи почему?

Ваш Ответ

3   ответа
0

есть ли в некоторых пакетах расширения php в зависимости. Я попытался установить пакеты Zend-http и имею ту же проблему.Вот Я нашел предложение установить расширение php_intl, потому что это требуется для zend-validate - subdependancy пакета zend-http. Как только я добавил это расширение в php.ini, проблема была решена.

2

composer.json от Zend-DB в Zend GitHub. Согласно файлу, у zend-db нет никаких зависимостей.

Это может быть связано с тем, что вы пытаетесь загрузить пакет с dev-master, и в composer.json dev-master имеется несоответствие.

I would suggest you to change the required version to something like 2.0.* and try again.

Кроме того, хотя Zend Framework слабо связан, в более ранних версиях платформы зависимости не были явными.

Например, проведя быстрый поиск по исходному коду zend_db из ZEND 1.9, я обнаружил, что он зависит, по крайней мере, от следующих пакетов:

Controller Config Filter Json Loader (for autoloading, I reckon this might not be necessary due to composer autoloader) Uri View Wildfire

Эти пакеты могут иметь другие зависимости, отсюда размер загрузки. Несмотря на это, как объяснил Кинг, Zend Framework 2.0 отличается от версии 1.9 и, возможно, это не применимо к 2.0

Насколько я знаю, только ZF2 доступен через composer, и db-компонент был переписан, поэтому зависимости 1.9 не важны. И (относительно вашего редактирования): связанныйcomposer.json устанавливает (сам.) версию в2.0.* (см.branch_alias-направленный внизу)
11

http://packages.zendframework.com/#composer ZF2 теперь предоставляет хранилище композитора со всеми модулями.

чтобы добавить репо в ваш пакет:

"repositories": [
    {
        "type": "composer",
        "url": "http://packages.zendframework.com/"
    }
],

и отсюда вы можете добавлять пакеты отдельно:

"require": {
    "zendframework/zend-config": "2.0.*",
    "zendframework/zend-http": "2.0.*"
},

вам нужно только указать пакеты, которые вы хотите, если они имеют зависимости, они будут разрешены компьюсером.

хотя это, кажется, не работает на ...

Я подтверждаю. Это не работает.
Это на самом деле правильный ответ
@ Nicky-de-Maeyer Действительно. У меня есть репозиторий в моем файле json, и я добавил только zend-db, но весь фреймворк извлекается. Это то, что вы имели в виду, когда говорили, что в данный момент он не работает?

Похожие вопросы