【问题标题】:Composer not installing dependencies of PackageComposer 未安装 Package 的依赖项
【发布时间】:2017-03-06 16:34:03
【问题描述】:

我有两个项目。一个是我的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 installcomposer update 时,我希望安装 bjyauthorize 包,但 composer 忽略依赖并安装其他所有内容。

我在这里做错了什么。

【问题讨论】:

    标签: php json github zend-framework2 composer-php


    【解决方案1】:

    尝试更新应用程序 composer.json 中的以下行:

    "username/GlideUser": "dev-master"
    

    到:

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

    这样,所需的内容与外部模块的名称相匹配,即在外部模块的 composer.json 中定义的名称。

    虽然它看起来并不直接适用于未安装的外部模块的依赖项,但这可能是原因。

    【讨论】:

    • 这成功了!谢谢 Ben Plummer,或者我应该叫你 Ben Plumber,因为你修复了损坏的东西;)非常感谢。
    • 哈哈,没问题!很高兴我能帮忙:)
    猜你喜欢
    • 2015-01-24
    • 2018-02-02
    • 2017-06-28
    • 2017-09-18
    • 2018-09-11
    • 2013-11-04
    • 2016-06-20
    • 2017-10-31
    • 1970-01-01
    相关资源
    最近更新 更多