【发布时间】:2017-08-28 21:10:06
【问题描述】:
我正在尝试在 AWS PHP 7.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)
任何想法如何在 PHP 7.0 上抑制或绕过它?
我的 composer.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 install --no-dev。见getcomposer.org/doc/03-cli.md#install。 -
在我看来,您在每次更改 composer.json 之间并没有摆脱您的 composer.lock 文件?如果存在 composer.lock 文件,
composer install不会查看 composer.json,是吗?线索是你说你已经从 composer.json 中摆脱了你的 phpunit 依赖,但它仍然在“错误”消息中被提及(间接地)。
标签: php laravel amazon-web-services laravel-5 php-7