【问题标题】:Laravel 5.6 composer doesn't install my package's dependenciesLaravel 5.6 composer 没有安装我的包的依赖项
【发布时间】:2018-05-11 06:05:32
【问题描述】:

当我在自定义包中使用“composer require x/y”命令时,一切都完成了。完美获取所有依赖项。

但是当我尝试从 bitbucket 存储库添加到 laravel 项目时,只安装我的包而不安装所有依赖项。

我将我的私有存储库设置为 laravel composer.json 文件

"repositories": {
    "hooks": {
        "type":"package",
        "package": {
            "name": "x/y",
            "version":"1.0.2",
            "source": {
                "url": "https://{username}@bitbucket.org/x/y.git",
                "type": "git",
                "reference": "master"
            }
        }
    }
}

我的自定义存储库 composer.json

{
        "name": "x/y",
        "description": "Base Api System",
        "license": "MIT",
        "require": {
            "php": "^7.2",
            "tcg/voyager": "^1.1",
            "predis/predis": "1.1",
            "monarobase/country-list": "^2.0"
        },
        "require-dev": {
        },
        "autoload": {
            "psr-4": {
                "X\\Y\\": "src/"
            }
        },
        "minimum-stability": "dev",
        "extra": {
            "laravel": {
                "providers": [
                    "X\\Y\\XYServiceProvider"
                ]
            }
        }
    }

作曲家需要输出

Using version ^1.0 for x/y
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing x/y (1.0.2): Cloning master from cache
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nunomaduro/collision
Package manifest generated successfully.

【问题讨论】:

  • composer show | grep monarobase 显示什么?

标签: laravel composer-php bitbucket


【解决方案1】:

您使用的package 输入错误。此类型适用于非作曲家包。 Composer 甚至不会在这种依赖关系中查看composer.json 文件,因为它假定该文件不存在。有关包的所有相关信息都应在主(根)应用程序的composer.json 中的repositories 设置中的包定义中。

但在您的情况下,您拥有包含完整作曲家包的存储库(具有正确的 composer.json 文件),因此您应该输入 vcsgit

"repositories": [
    {
        "type":"git",
        "url": "https://{username}@bitbucket.org/x/y.git"
    }
]

【讨论】:

    猜你喜欢
    • 2017-06-28
    • 2018-07-01
    • 1970-01-01
    • 2018-03-04
    • 2015-01-24
    • 2017-10-31
    • 2018-12-23
    • 2014-05-26
    • 2018-02-02
    相关资源
    最近更新 更多