我得到了#34;您的要求无法解决为一组可安装的软件包。"当我运行作曲家更新

时间:2016-01-04 22:36:51

标签: php json laravel laravel-5 composer-php

我使用laravel 5.2编写了一个应用程序。这个程序有模块/包。所有包都将位于名为modules的文件夹中。

我的第一个包位于名为modules/Mikea/Surveys的文件夹中。 Mikea是供应商的名称,Surveys是模块/包名称。每个软件包都有自己的composer.json文件,这样我就可以使用它自己的编写器配置来配置每个软件包。 (我目前有一个包,但我以后可以有更多)

在我的main composer.json文件中,我在存储库部分中使用"path"类型,就像您在以下composer.json文件中看到的那样

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "laravelcollective/html": "5.2.x-dev",
        "mikea/surveys": "*"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1",
        "symfony/dom-crawler": "~3.0",
        "symfony/css-selector": " ~3.0"
    },
    "repositories": [
        {
            "type": "path",
            "url": "modules/Mikea/Surveys"
        }
    ],
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "Modules\\": "modules/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "pre-update-cmd": [
            "php artisan clear-compiled"
        ],
        "post-update-cmd": [
            "php artisan optimize"
        ],
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

在第二个composer.json文件"包文件"我有以下

{
    "name": "mikea/surveys",
    "type": "library",
    "description": "Survey System",
    "authors": [
        {
            "name": "Mike A",
            "email": "some@email.com"
        }
    ],
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "mikea/surveys",
                "version": "0.1.0",
                "source": {
                    "type": "path",
                    "url": "modules/Mikea/Surveys"
                }
            }
        }
    ],
    "require": {
        "php": ">=5.4.0"
    },
    "autoload": {
        "classmap": [
            "database/migrations",
            "database/seeds"
        ],
        "psr-4": {
            "mikea\\Surveys\\": "src/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

当我运行composer update时,我收到以下错误

F:\xampp\htdocs\proj>composer update
> php artisan clear-compiled
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package mikea/surveys could not be found in any version, there may be a typo in the package name.

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

我在这里做错了什么?为什么我会收到此错误?

1 个答案:

答案 0 :(得分:2)

我相信我弄清楚了。

我必须在我的第二个composer.json文件中添加“版本”标记,就像这样。至少添加“版本”允许我运行命令,没有错误

{
    "name": "mikea/surveys",
    "type": "library",
    "description": "Survey System",
    "version": "0.1.0",
    "authors": [
        {
            "name": "Mike A",
            "email": "some@email.com"
        }
    ],
    "require": {
        "php": ">=5.4.0"
    },
    "autoload": {
        "classmap": [
            "database/migrations",
            "database/seeds"
        ],
        "psr-4": {
            "mikea\\Surveys\\": "src/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}