简体   繁体   English

无法使用 Laravel 安装 Dingo

[英]Can't install Dingo with Laravel

I just removed my installed laravel folder in which I installed Dingo and JWT easily.我刚刚删除了我安装的 Laravel 文件夹,我在其中轻松安装了 Dingo 和 JWT。 Laravel version was 5.2.x. Laravel 版本是 5.2.x。

Now, whenever I try to reinstall Dingo API it gives me error.现在,每当我尝试重新安装 Dingo API 时,它都会给我错误。 Here is the list of commands I used:这是我使用的命令列表:

Steps to Install安装步骤

  1. Install Laravel: composer create-project laravel/laravel citycare 5.2.* .安装 Laravel: composer create-project laravel/laravel citycare 5.2.* (I have also tried with 5.1.*) (我也试过 5.1.*)
  2. Install Dingo: composer require dingo/api:1.0.x@dev .安装 Dingo: composer require dingo/api:1.0.x@dev

Here is the error这是错误

You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
./composer.json has been updated
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
    - Conclusion: don't install dingo/api 1.0.x-dev
    - Conclusion: don't install dingo/api v1.0.0-beta3
    - Conclusion: remove laravel/framework v5.2.38
    - Installation request for phpdocumentor/reflection-docblock == 3.1.0.0 -> satisfiable by phpdocumentor/reflection-docblock[3.1.0].
    - Conclusion: don't install laravel/framework v5.2.38
    - dingo/api v1.0.0-beta1 requires illuminate/support 5.1.* -> satisfiable by illuminate/support[v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.6, v5.1.8].
    - dingo/api v1.0.0-beta2 requires illuminate/support 5.1.* -> satisfiable by illuminate/support[v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.6, v5.1.8].
    - don't install illuminate/support v5.1.1|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.13|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.16|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.2|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.20|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.22|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.25|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.28|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.30|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.31|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.6|don't install laravel/framework v5.2.38
    - don't install illuminate/support v5.1.8|don't install laravel/framework v5.2.38
    - Installation request for laravel/framework == 5.2.38.0 -> satisfiable by laravel/framework[v5.2.38].
    - Installation request for dingo/api 1.0.x@dev -> satisfiable by dingo/api[1.0.x-dev, v1.0.0-beta1, v1.0.0-beta2, v1.0.0-beta3].


Installation failed, reverting ./composer.json to its original content.

Andrey B, I tried that but that doesn't worked for me. Andrey B,我试过了,但这对我不起作用。 Apparently, I decided to go ahead and try some more things in order to make it work.显然,我决定继续尝试更多的东西以使其工作。 And here is the solution that I found:这是我找到的解决方案:

I added "phpdocumentor/reflection": "3.x@dev" under "require": { } in composer.json and ran a composer update .我在composer.json "require": { }下添加了"phpdocumentor/reflection": "3.x@dev"并运行了composer update

After this, composer require ran successfully.在此之后, composer require成功运行。

I am still unable to find what caused this problem.我仍然无法找到导致此问题的原因。 I guess, last time I installed, the composer.json already had phpdocumentor inside it.我猜,上次我安装时,composer.json 里面已经有 phpdocumentor 了。

Have a look at my new composer.json :看看我的新composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",
        "phpdocumentor/reflection": "3.x@dev",
        "dingo/api": "1.0.x@dev",
        "zizaco/entrust": "5.2.x-dev"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1",
        "laracasts/generators": "^1.1"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

And also note I am using Laravel 5.1.x .还要注意我使用的是Laravel 5.1.x

I've just experienced the same issue.我刚刚遇到了同样的问题。 Installing via composer require command failed, but editing composer.json file and then running composer update worked just fine.通过composer require命令安装失败,但编辑 composer.json 文件然后运行composer update工作正常。

Solved:解决了:

Add "phpdocumentor/reflection": "3.x@dev" under "require": in composer.json在“require”下添加“phpdocumentor/reflection”:“3.x@dev”:在composer.json

"require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "phpdocumentor/reflection": "3.x@dev" }, "require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "phpdocumentor/reflection": "3.x@dev" },

$ composer update $ composer require dingo/api:1.0.x@dev $ composer update $ composer require dingo/api:1.0.x@dev

after successful command this will add "dingo/api": "1.0.x@dev" under "require":.成功命令后,这将在“require”下添加“dingo/api”:“1.0.x@dev”:。

"require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "phpdocumentor/reflection": "3.x@dev", "dingo/api": "1.0.x@dev" } "require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "phpdocumentor/reflection": "3.x@dev", "dingo/api": " 1.0.x@dev" }

I'm working with laravel 5.4, I faced same issue while I tried to import through terminal using this command.我正在使用 laravel 5.4,当我尝试使用此命令通过终端导入时遇到了同样的问题。 " composer require dingo/api:1.0.x@dev "..... but after that I just updated my composer.json file and it was like this " composer require dingo/api:1.0.x@dev "..... 但在那之后我刚刚更新了我的 composer.json 文件,它是这样的

"require": {
        "php": ">=5.6.4",
        "dingo/api": "1.0.*@dev",
        "laravel/framework": "5.4.*",
        "laravel/tinker": "~1.0",
        "intervention/image": "dev-master"
    }

Afterward I run "composer update" command and package imported successfully helping link: https://github.com/dingo/api/wiki/Installation之后我运行“composer update”命令并成功导入包帮助链接: https : //github.com/dingo/api/wiki/Installation

You can use this for Dingo Installation您可以将其用于 Dingo 安装

"require": {
    "dingo/api": "2.0.0-alpha1"
}

This approach works for me:这种方法对我有用:

"require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",
        "phpdocumentor/reflection": "3.x@dev",
        "dingo/api": "1.0.x@dev"
    },
    
composer update
composer require dingo/api:1.0.x@dev

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM