【问题标题】:Error installing package (Installation failed, reverting ./composer.json to its original content.)安装包时出错(安装失败,正在将 ./composer.json 还原为其原始内容。)
【发布时间】:2018-11-25 11:39:52
【问题描述】:

我想安装一个带有“composer require rpsimao/invoicexpress-api”的包,但出现错误:

Using version ^0.5.6 for rpsimao/invoicexpress-api
./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
    - Installation request for rpsimao/invoicexpress-api ^0.5.6 -> satisfiable by rpsimao/invoicexpress-api[0.5.6].
    - rpsimao/invoicexpress-api 0.5.6 requires laravel/framework 5.4.* -> satisfiable by laravel/framework[5.4.x-dev, v5.4.0, v5.4.1, v5.4.10, v5.4.11, v5.4.12, v5.4.13, v5.4.14, v5.4.15, v5.4.16, v5.4.17, v5.4.18, v5.4.19, v5.4.2, v5.4.20, v5.4.21, v5.4.22, v5.4.23, v5.4.24, v5.4.25, v5.4.26, v5.4.27, v5.4.28, v5.4.29, v5.4.3, v5.4.30, v5.4.31, v5.4.32, v5.4.33, v5.4.34, v5.4.35, v5.4.36, v5.4.4, v5.4.5, v5.4.6, v5.4.7, v5.4.8, v5.4.9] but these conflict with your requirements or minimum-stability.


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

你知道怎么解决吗?我使用的是 laravel 5.5,似乎该软件包支持该版本,但出现错误。

【问题讨论】:

  • 能发一下 compose.json 文件吗,laravel 版本是多少?
  • 我的版本是 5.5。
  • 它需要 5.4.*
  • 谢谢,但上面写着“用 Laravel 5.5.* 测试过”。

标签: laravel


【解决方案1】:

该软件包尚未更新为可与 laravel 5.5 一起使用。 你可以验证它对packagist的依赖:

https://packagist.org/packages/rpsimao/invoicexpress-api#0.5.6

Invoiceexpress 需要 laravel/framework:5.4.*

dev-master 版本也不适合 laravel 5.5

dev-master 2018-01-10 15:20 UTC 要求

guzzlehttp/guzzle:
^6.2.1 guzzlehttp/psr7: ^1.4.1
guzzlehttp/promises: ~1.0
laravel/框架:5.4.*
照明/支持:5.4.*
php: ^7.0
spatie/array-to-xml: ^2.5

【讨论】:

【解决方案2】:

尽管他们说 用 Laravel 5.5 测试。* 在自述文件中,composer.json 说它需要两者

"laravel/framework": "5.4.*",
"illuminate/support": "5.4.*",

所以如果包的 composer.json 说它应该是 Laravel 5.4.*。您使用的是 laravel 5.5,所以它不兼容。

这里是标签 0.5.6 的 rpsimao/invoiceexpress-api composer.json 文件。查看 Laravel 版本

{
    "name": "rpsimao/invoicexpress-api",
    "description": "Laravel Package to interact with InvoiceXpress API",
    "type": "library",
    "keywords": [
        "laravel",
        "rpsimao",
        "invoicexpress-api",
        "invoicexpress",
        "api"
    ],
    "homepage": "https://github.com/rpsimao/invoicexpress-api",
    "license": "MIT",
    "authors": [
        {
            "name": "Ricardo Simão",
            "email": "ricardo.simao@upgrade.pt"
        }
    ],
    "require": {
        "php": "^7.0",
        "guzzlehttp/guzzle": "^6.2.1",
        "guzzlehttp/psr7": "^1.4.1",
        "guzzlehttp/promises": "~1.0",
        "laravel/framework": "5.4.*",
        "illuminate/support": "5.4.*",
        "spatie/array-to-xml": "^2.5"
    },
    "autoload": {
        "psr-4": {
            "rpsimao\\InvoiceXpressAPI\\": "src/"
        },
        "files":[
            "src/Helpers/invoicexpress-api.php"
        ]
    },
    "require-dev": {
        "phpunit/phpunit": "^6.1",
        "orchestra/testbench": "^3.4"
    },
    "autoload-dev": {
        "psr-4": {
            "rpsimao\\InvoiceXpressAPI\\Test\\": "tests/"
        }
    },
    "extra": {
    "laravel": {
        "providers": [
            "rpsimao\\InvoiceXpressAPI\\InvoiceXpressAPIServiceProvider"
        ],
        "aliases": {
            "InvoiceXpressClients": "rpsimao\\InvoiceXpressAPI\\InvoiceXpressAPIFacade"
           }
        }
    }
}

编辑后

因此,目前无法与 Laravel 5.5 一起使用,因为 Laravel 5.5 使用 PHP >=7.0.0,这个包使用 Laravel 5.4,它使用 PHP >=5.6.4。

如果存在则删除 composer.lock 文件

【讨论】:

  • 谢谢,所以不能与 laravel 5.5 一起使用?
  • 是的。请参阅编辑后部分。 Laravel 5.5 使用 php 7,这个包和 laravel 5.4 使用 php >=5.6.4
【解决方案3】:

它适用于 ubuntu,必须检查 laravel set environment

$ composer create-project laravel/laravel BlogLaravel "7.*"

为 composer 和 laravel 设置环境路径

$ export PATH="$PATH:$HOME/.composer/vendor/bin"
$ echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
$ source ~/.bashrc

【讨论】:

    【解决方案4】:
    1. remove ./composer/cache folder
    2. run composer global update
    



    对于 Laravel 开发人员: 不同的 laravel 版本支持不同的 Vuejs 版本。 首先,找出哪个 laravel 版本支持 vuejs 版本。 比安装它。
    例子:

    Laravel 7 支持 vuejs 2.4。
    所以安装了它
    作曲家需要 laravel/ui:^2.4

    【讨论】:

      【解决方案5】:

      如果您尝试安装“jwt-auth”并尝试使用此代码获取错误

      composer require tymon/jwt-auth:dev-develop --prefer-source
      
      php artisan vendor:publish 
      
      php artisan jwt:secret
      

      【讨论】:

        猜你喜欢
        • 2021-09-30
        • 2020-02-29
        • 1970-01-01
        • 2021-03-11
        • 2020-05-22
        • 2021-07-19
        • 1970-01-01
        • 2020-06-19
        • 2020-10-18
        相关资源
        最近更新 更多