【问题标题】:laravel new blog not work mockery/mockery 1.4.0laravel 新博客不起作用嘲弄/嘲弄 1.4.0
【发布时间】:2020-09-06 02:09:32
【问题描述】:

今天我想用这个命令用 Laravel 创建一个新项目

laravel new blog

但我得到了这个错误

Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for mockery/mockery 1.4.0 -> satisfiable by mockery/mockery[1.4.0].
    - mockery/mockery 1.4.0 requires php ^7.3.0 -> your PHP version (7.2.23) does not satisfy that requirement.

为什么Laravel自己说至少php7.2.5还要读php7.3???

【问题讨论】:

标签: laravel composer-php


【解决方案1】:

我也遇到过这些问题。

问题 1 - 外观/点火合同 1.0.2 的安装请求 -> 可满足外观/点火合同 [1.0.2]。 - 外观/点火合同 1.0.2 需要 php ^7.3|^8.0 -> 您的 PHP 版本 (7.2.34) 不满足该要求。

问题 2 - mockery/mockery 1.4.2 的安装请求 -> 可满足 mockery/mockery[1.4.2]。 - 嘲弄/嘲弄 1.4.2 需要 php ^7.3 || ^8.0 -> 您的 PHP 版本 (7.2.34) 不满足该要求。

问题 3 - 外观/点火合同 1.0.2 需要 php ^7.3|^8.0 -> 您的 PHP 版本 (7.2.34) 不满足该要求。 - nunomaduro/collision v4.2.0 需要外观/点火合同 ^1.0 -> 可满足外观/点火合同 [1.0.2]。 - nunomaduro/collision v4.2.0 的安装请求 -> 由 nunomaduro/collision[v4.2.0] 满足。

我已经删除了composer.lock 文件并执行了composer install 命令。

我的问题解决了。

【讨论】:

    【解决方案2】:

    运行composer update

    原因:

    您的 PHP 版本太低。你已经安装了 7.2.23,mockery/mockery 1.4 需要 7.3.0

    最好的解决方案是升级您的 PHP 版本。或者,您可以将 mockery 的版本降低到 1.3.1,它只需要 PHP 5.6 或更高版本。

    My bug report can be found here

    自 2020-05-21 起,laravel new ___ 使用的 zip 文件将尝试安装 mockery/mockery 版本 1.4。这不适用于 7.3 以下的 PHP 版本。为了解决这个问题,运行composer update,嘲笑将被降级为兼容版本。

    【讨论】:

    • 如何将嘲讽/嘲讽版本改为1.3.1
    • 在 composer.json 中更改它然后运行 ​​composer update。
    • 虽然可以升级 PHP,但 Laravel 文档指出 Laravel(及其依赖项)只需要 7.2.5+,默认情况下它只需要 Mockery 1.3。我不确定 OP 是如何将其搞砸以强制要求 v1.4。
    • @ceejayoz laravel/installer 下载 [this zip file](cabinet.laravel.com/latest.zip),并在其上运行 composer install。确实,composer.json 只需要mockery/mockery^1.3.1,但该zip 中的composer.lock 文件列出了mockery/mockery 版本1.4.0composer update 可能会修复它。 laravel/installeris failing on PHP 7.2 的主分支,我怀疑这是问题所在。长话短说,我不认为 OP 搞砸了。
    • @Joundill 哦,有趣,我没有意识到laravel new 拉下了composer.lock
    【解决方案3】:

    你可以跑

    composer create-project --prefer-dist laravel/laravel <project_name>

    它会自动回退到mockery^1.3.1

    【讨论】:

      【解决方案4】:

      删除composer.lock文件并再次运行composer

      composer install

      【讨论】:

        【解决方案5】:

        我在尝试创建新的 Laravel 应用程序时遇到了问题,我使用以下命令更新了 php 版本并且它工作正常。

        sudo apt install software-properties-common

        sudo add-apt-repository ppa:ondrej/php

        sudo apt install -y php7.4 php7.4-gd php7.4-mbstring php7.4-xml

        【讨论】:

          【解决方案6】:

          这可能是陈旧的,这里的问题是需要将 php 更新到兼容的版本。

          • 删除供应商中的 composer.lock 文件和自动加载文件,即项目中的供应商/自动加载
          • 从php.net升级php版本
          • 运行 composer install --no scripts
          • 运行作曲家更新
          • php 工匠迁移
          • php 工匠密钥:生成

          【讨论】:

          • 请在您的答案中添加一些解释,以便其他人可以从中学习。为什么删除 composer.lock 会有帮助?在composer install 之后直接运行composer update 的原因是什么?
          • 删除 Composer.lock 文件的原因是它试图找到您的依赖项的兼容版本来满足 Composer。 json 文件,它将安装您的依赖项的确切版本。在我自己的情况下,我克隆了一个 laravel 8 项目,我的 php 版本较低,所以我删除了 composer.lock & autoload 文件。运行 composer install 命令 运行 composer update 然后我执行了 migrations 命令,还有键:generate command
          • 请通过编辑将所有解释添加到您的答案中。另外,请解释为什么删除锁定文件会产生与运行 composer update 不同的结果 - 两者都会重新计算您的依赖关系
          【解决方案7】:

          假设您正在尝试创建一个名为 blog 的新 laravel 项目,这就是我在运行 laravel new blog 后修复错误所做的工作

          1. cd 到blog

          2. 运行composer update

          3. 创建一个.env 文件。您只需复制.env.example 并将副本重命名为.env。如果您尝试使用 php artisan serve 启动开发服务器并且应用启动时出现 500 错误,请运行以下命令:

            php artisan key:generate

            php artisan cache:clear

            php artisan config:clear

            composer dump-autoload

          【讨论】:

            【解决方案8】:

            我今天在新的 Laravel 项目中遇到了同样的问题。 composer.json 文件显示 "mockery/mockery": "^1.3.1" 但仍然显示相同的错误。同时删除composer.lock 文件并运行composer install

            【讨论】:

              猜你喜欢
              • 2016-08-08
              • 2017-09-01
              • 2019-08-03
              • 2014-10-27
              • 2013-04-08
              • 2019-02-27
              • 2017-05-12
              • 2018-12-24
              • 2017-05-23
              相关资源
              最近更新 更多