Composer - vcs上请求的包问题

时间:2018-03-28 09:40:06

标签: laravel composer-php

我将https://github.com/calebporzio/onboard分叉到https://github.com/mpjraaij/onboard/tree/dev-bugfix

我的作曲家档案已更新为

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "repositories": [
        {
            ...
        },
        {
            "type": "vcs",
            "url": "https://github.com/mpjraaij/onboard"
        }
    ],
    "require": {
        ...
        "calebporzio/onboard": "dev-bugfix",
        ...
    },
    "require-dev": {
        ...
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

但是,当我运行composer update

时出现以下错误

您的要求无法解析为可安装的软件包。

问题1      - 请求的软件包calebporzio / onboard dev-bugfix以calebporzio / onboard [dev-master,v1.0,v1.1,dev-dev-bugfix]的形式存在,但这些内容会被您的约束拒绝。

如何解决此问题?

2 个答案:

答案 0 :(得分:1)

解决方案实际上在错误消息中:The requested package ... exists as calebporzio/onboard[dev-master, v1.0, v1.1, dev-dev-bugfix]

在Composer中,要引用任何看起来不像版本的分支,您需要在其前面添加dev-。要引用master分支,您可以使用dev-master。同样适用于此。

因此,要引用名为dev-bugfix的分支,您需要在dev-dev-bugfix文件中使用composer.json,就像错误消息所暗示的那样。

答案 1 :(得分:0)

您需要软件包版本dev-bugfix,但错误告诉您它已不存在,因为已删除或重命名,只有它可用[dev-master,v1.0,v1.1,dev-dev -bugfix]。

您需要将您的需求更改为某些可用版本,我会选择最新的稳定版本:

"require": {
    ...
    "calebporzio/onboard": "1.1",
    ...
},