【问题标题】:Composer won't install package dependenciesComposer 不会安装包依赖项
【发布时间】:2017-10-31 02:53:01
【问题描述】:

我已经创建了composer包,composer.json就是

{
    "name": "xxxx/yyyyy",
    "description": "xyz",
    "license": "MIT",
    "authors": [
        {
            "name": "xxx",
            "email": "xx@ttt.com"
        }
    ],
    "version": "1.0.0",
    "type": "package",
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.6.4",
        "laravel/framework": "5.3.*",
        "tymon/jwt-auth": "0.5.*",
        "dimsav/laravel-translatable": "^6.0",
        "doctrine/dbal": "^2.5",
        "felixkiss/uniquewith-validator": "2.*",
        "owen-it/laravel-auditing": "^3.1",
        "venturecraft/revisionable": "1.*",
        "yadakhov/insert-on-duplicate-key": "^1.1"
    },
    "autoload": {
        "psr-4": {
            "XXX\\YYY\\" : "/src"
        }
    }
}

现在,当我安装我的

xxxx/yyyy

包,我需要作曲家安装所有必需的包:

"require": {
    "php": ">=5.6.4",
    "laravel/framework": "5.3.*",
    "tymon/jwt-auth": "0.5.*",
    "dimsav/laravel-translatable": "^6.0",
    "doctrine/dbal": "^2.5",
    "felixkiss/uniquewith-validator": "2.*",
    "owen-it/laravel-auditing": "^3.1",
    "venturecraft/revisionable": "1.*",
    "yadakhov/insert-on-duplicate-key": "^1.1"
},

但它不安装它。

我尝试作曲家更新,作曲家安装。有人可以帮忙吗?

Project Composer.json 看起来像

{    
    "require": {
        "php": ">=5.6.4",
        "laravel/framework": "5.4.*",
        "laravel/tinker": "~1.0",       
        "xxxx/yyyy" : "1.0.0"    
    },    
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "xxxx/yyyy",
                "version": "1.0.0",
                "source": {
                    "url": "example.com",
                    "type": "git",
                    "reference": "master"
                },
                "autoload": {
                    "psr-4" : {
                       "XXX\\YYY\\" : "/src"
                    }
                }
            }
       }
    ] 
}

我能做什么,Composer 会自动安装所有包所需的依赖项????感谢您的建议。

【问题讨论】:

  • 当你使用“composer require xxxx/yyyy”时,会发生什么?是否有成功/错误消息?
  • 它安装我的包,没有错误,但它不会安装我的包所需的依赖项

标签: laravel composer-php packagist


【解决方案1】:

不要使用package 存储库类型。当您使用它时,您必须复制通常位于您所引用软件的composer.json 文件中的所有信息。

package 存储库适用于无法将composer.json 文件添加到软件源的情况。您可以完全控制您的包裹,因此这不适用。

只需添加一个类型为vcs 的存储库链接和存储库的URL,Composer 将通过查看存储库中的composer.json 文件找出其余部分。它将检测依赖项并安装它们。

【讨论】:

    猜你喜欢
    • 2018-12-23
    • 2017-06-28
    • 1970-01-01
    • 2014-10-24
    • 2017-09-18
    • 2018-02-02
    • 1970-01-01
    • 2015-01-24
    • 2021-05-01
    相关资源
    最近更新 更多