Composer не устанавливает зависимости пакета

#php #json #github #zend-framework2 #composer-php

#php #json #github #zend-framework2 #composer-php

Вопрос:

У меня есть два проекта. Одна из них моя, application а вторая — external module которую я хочу использовать в будущих приложениях.

Я создал свой внешний модуль на GitHub и включил его в composer.json моего приложения.

Мой external module загружается / клонируется, но required dependencies are not installed by composer .

Вот composer.json моего приложения:

 {
    "name": "application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.5",
        "zendframework/zendframework": "2.*",
        "zf-commons/zfc-user": "1.4.4",
        "doctrine/doctrine-orm-module": "~0.9.2",
        "zf-commons/zfc-user-doctrine-orm": "1.0.*",
        "zendframework/zend-developer-tools": "^0.0.2",
        "username/GlideUser": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/GlideUser.git"
        }
    ]
}
  

Вот composer.json моего внешнего модуля:

 {
    "name": "username/glide-user",
    "description": "Module For Zend Framework 2",
    "type": "library",
    "license": "BSD-3-Clause",
    "homepage": "https://github.com/username/GlideUser",
    "keywords": [
        "zf2",
        "zfc-user",
        "bjyauthorize"
    ],
    "authors": [
        {
            "name": "Haris Mehmood",
            "email": "abc@outlook.com",
            "homepage": "abc.com",
            "role": "Developer"
        }
    ],
    "minimum-stability": "dev",
    "prefer-stable": true,
    "require": {
        "php": ">=5.3.3",
        "bjyoungblood/bjy-authorize": "1.4.0"
    },
    "autoload": {
        "psr-0": {
            "GlideUser\": "src/"
        }
    }
}
  

Когда я запускаю composer install или composer update, я ожидаю, что будет установлен пакет bjyauthorize, но composer игнорирует зависимость и устанавливает все остальное.

Что я здесь делаю не так.

Ответ №1:

Попробуйте обновить следующую строку в вашем приложении composer.json из:

 "username/GlideUser": "dev-master"
  

Для:

 "username/glide-user": "dev-master"
  

Таким образом, требуемое соответствует имени внешнего модуля, которое является именем, определенным внутри composer.json внешнего модуля.

Хотя это не выглядит непосредственно применимым к зависимостям неустановленного внешнего модуля, это может быть причиной.

Комментарии:

1. Это сработало! Спасибо Бену Пламмеру, или мне следует называть вас Бен Сантехник, поскольку вы исправляете сломанные вещи 😉 Большое спасибо.

2. Ха-ха, нет проблем! Рад, что смог помочь 🙂