由于Doctrine包,Laravel 5.4无法在PHP7.0上运行

由于Doctrine包,Laravel 5.4无法在PHP7.0上运行,php,laravel,amazon-web-services,laravel-5,php-7,Php,Laravel,Amazon Web Services,Laravel 5,Php 7,我试图在AWS PHP7.0实例(Elastic Beanstalk,但这并不重要)上部署一个Laravel应用程序 我得到以下错误 + composer.phar install --no-ansi --no-interaction Do not run Composer as root/super user! See https://getcomposer.org/root for details Loading composer repositories with package info

我试图在AWS PHP7.0实例(Elastic Beanstalk,但这并不重要)上部署一个Laravel应用程序

我得到以下错误

+ composer.phar install --no-ansi --no-interaction
Do not run Composer as root/super user! See https://getcomposer.org/root for details
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 doctrine/instantiator 1.1.0 -> satisfiable by doctrine/instantiator[1.1.0].
    - doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.16) does not satisfy that requirement.
  Problem 2
    - doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.16) does not satisfy that requirement.
    - phpunit/phpunit-mock-objects 3.4.4 requires doctrine/instantiator ^1.0.2 -> satisfiable by doctrine/instantiator[1.1.0].
    - Installation request for phpunit/phpunit-mock-objects 3.4.4 -> satisfiable by phpunit/phpunit-mock-objects[3.4.4].
 (Executor::NonZeroExitStatus)
在PHP7.0上如何抑制或绕过它

mycomposer.json

{
    "name": "myapp",
    "description": "My App.",
    "keywords": ["framework", "laravel", "lumen"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.6.4",
        "laravel/lumen-framework": "5.4.*",
        "vlucas/phpdotenv": "~2.2",
        "romanpitak/nginx-config-processor": "^0.2.1",
        "symfony/stopwatch": "^3.2",
        "comodojo/zip": "^2.1",
        "riimu/kit-pathjoin": "1.*",
        "aws/aws-sdk-php": "^3.25",
        "spatie/url": "dev-master"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "phpunit/phpunit": "~5.0",
        "mockery/mockery": "~0.9"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/",
            "database/"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ]
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}
另外,我没有使用任何单元测试。我试图摆脱“require dev”软件包,但仍然出现了相同的错误。

错误在于存在“composer.lock”,在这种情况下,当我们运行“composer install”时会发生什么


是时候再次运行composer安装了。这一次,Composer将看到目录中有一个Composer.lock文件。相反,它将安装composer.lock文件中定义的确切版本的依赖项,而不是查找兼容版本的依赖项以满足composer.json文件的要求。()

为什么要部署开发依赖项?这是一个测试环境吗?如果没有,请运行
composer安装--no dev
。看,在我看来,在每次更改composer.json之间,您都没有删除composer.lock文件
composer安装
不查看composer.json如果存在composer.lock文件,是吗?线索是你说你已经从composer.json中去掉了你的phpunit依赖项,但是它仍然在“错误”消息中被提到(间接地)。