Composer报错:Invalid argument supplied for foreach()
我在我的Laravel项目执行composer install
或者composer update
的时候就会报错:
Loading composer repositories with package information
Updating dependencies
[ErrorException]
Invalid argument supplied for foreach()
Exception trace:
() at phar:///var/composer.phar/src/Composer/Repository/ComposerRepository.php:385
Composer\Util\ErrorHandler::handle() at phar:///var/composer.phar/src/Composer/Repository/ComposerRepository.php:385
Composer\Repository\ComposerRepository->whatProvides() at phar:///var/composer.phar/src/Composer/DependencyResolver/Pool.php:213
Composer\DependencyResolver\Pool->computeWhatProvides() at phar:///var/composer.phar/src/Composer/DependencyResolver/Pool.php:202
Composer\DependencyResolver\Pool->whatProvides() at phar:///var/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php:173
Composer\DependencyResolver\RuleSetGenerator->whitelistFromPackage() at phar:///var/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php:153
Composer\DependencyResolver\RuleSetGenerator->allowListFromPackage() at phar:///var/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php:322
Composer\DependencyResolver\RuleSetGenerator->whitelistFromJobs() at phar:///var/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php:309
Composer\DependencyResolver\RuleSetGenerator->allowListFromJobs() at phar:///var/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php:373
Composer\DependencyResolver\RuleSetGenerator->getRulesFor() at phar:///var/composer.phar/src/Composer/DependencyResolver/Solver.php:217
Composer\DependencyResolver\Solver->solve() at phar:///var/composer.phar/src/Composer/Installer.php:489
Composer\Installer->doInstall() at phar:///var/composer.phar/src/Composer/Installer.php:232
Composer\Installer->run() at phar:///var/composer.phar/src/Composer/Command/InstallCommand.php:122
Composer\Command\InstallCommand->execute() at phar:///var/composer.phar/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///var/composer.phar/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///var/composer.phar/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///var/composer.phar/src/Composer/Console/Application.php:281
Composer\Console\Application->doRun() at phar:///var/composer.phar/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///var/composer.phar/src/Composer/Console/Application.php:113
Composer\Console\Application->run() at phar:///var/composer.phar/bin/composer:61
require() at /var/composer.phar:24
install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-scripts] [--no-progress] [--no-install] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [<packages>]...
以下是我的 composer.json:
{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=7.2",
"doctrine/dbal": "^2.10",
"hhxsv5/laravel-s": "^3.7",
"illuminate/contracts": "^7.26",
"illuminate/cookie": "^7.26",
"illuminate/redis": "^7.26",
"illuminate/routing": "^7.26",
"irazasyed/larasupport": "^1.6",
"laravel/helpers": "^1.3",
"laravel/lumen-framework": "^7.2",
"laravel/tinker": "^2.4",
"mmghv/lumen-route-binding": "^1.5",
"spatie/laravel-permission": "^3.16",
"summergeorge/ali-oss-storage": "^2.1",
"tymon/jwt-auth": "^1.0",
"vlucas/phpdotenv": "^4.1",
"laravel/scout": "^8.3"
},
"require-dev": {
"beyondcode/laravel-dump-server": "^1.4",
"fzaninotto/faker": "^1.9",
"overtrue/laravel-query-logger": "^1.2",
"phpunit/phpunit": "^9.1"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/"
]
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
},
"minimum-stability": "dev",
"prefer-stable": true
}
在有lock的时候,只有update会报错,install不会,然后我把lock删掉了,现在两个命令都会报错。请问大家知道如何解决吗?
推荐文章: