当我运行时composer update
出现此错误:
PHP Fatal error: Uncaught TypeError: Argument 1 passed to Symfony\Component\Console\Question\Question::__construct() must be of the type string, array given, called in /usr/share/php/Composer/IO/ConsoleIO.php on line 239 and defined in /usr/share/php/Symfony/Component/Console/Question/Question.php:37
Stack trace:
#0 /usr/share/php/Composer/IO/ConsoleIO.php(239): Symfony\Component\Console\Question\Question->__construct(Array, 0)
#1 /var/www/html/vendor/zendframework/zend-component-installer/src/ComponentInstaller.php(434): Composer\IO\ConsoleIO->ask(Array, 0)
#2 /var/www/html/vendor/zendframework/zend-component-installer/src/ComponentInstaller.php(195): Zend\ComponentInstaller\ComponentInstaller->promptForConfigOption('Zend\\Navigation', Object(Zend\ComponentInstaller\Collection), 1)
#3 /var/www/html/vendor/zendframework/zend-component-installer/src/Collection.php(92): Zend\ComponentInstaller\ComponentInstaller->Zend\ComponentInstaller\{closure}(Object(Zend\ComponentInstaller\Collection), 'Zend\\N in /usr/share/php/Symfony/Component/Console/Question/Question.php on line 37
Fatal error: Uncaught TypeError: Argument 1 passed to Symfony\Component\Console\Question\Question::__construct() must be of the type string, array given, called in /usr/share/php/Composer/IO/ConsoleIO.php on line 239 and defined in /usr/share/php/Symfony/Component/Console/Question/Question.php:37
Stack trace:
#0 /usr/share/php/Composer/IO/ConsoleIO.php(239): Symfony\Component\Console\Question\Question->__construct(Array, 0)
#1 /var/www/html/vendor/zendframework/zend-component-installer/src/ComponentInstaller.php(434): Composer\IO\ConsoleIO->ask(Array, 0)
#2 /var/www/html/vendor/zendframework/zend-component-installer/src/ComponentInstaller.php(195): Zend\ComponentInstaller\ComponentInstaller->promptForConfigOption('Zend\\Navigation', Object(Zend\ComponentInstaller\Collection), 1)
#3 /var/www/html/vendor/zendframework/zend-component-installer/src/Collection.php(92): Zend\ComponentInstaller\ComponentInstaller->Zend\ComponentInstaller\{closure}(Object(Zend\ComponentInstaller\Collection), 'Zend\\N in /usr/share/php/Symfony/Component/Console/Question/Question.php on line 37
但并非我所有的项目都是如此。
在失败的项目中,我在 composer.json 文件中得到了以下要求。
"require": {
"php": "^5.6 || ^7.0",
"ext-gd": "*",
"ext-intl": "*",
"zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
"zendframework/zend-mvc": "^3.1",
"zfcampus/zf-development-mode": "^3.0",
"zendframework/zend-mvc-form": "^1.0",
"zendframework/zend-mvc-plugins": "^1.0.1",
"zendframework/zend-session": "^2.7.1",
"zendframework/zend-authentication": "^2.5",
"doctrine/doctrine-orm-module": "^1.1.5",
"doctrine/migrations": "^1.5",
"zendframework/zend-math": "^3.0",
"zendframework/zend-crypt": "^3.1",
"zendframework/zend-captcha": "^2.6",
"zendframework/zend-mail": "^2.10",
"zendframework/zend-mime": "^2.7",
"symfony/polyfill-iconv": "^1.13"
},
我如何更新/安装我的网站?
PHP 7.3.12-1
Composer 1.9.1 2019-11-01 17:20:17
答案1
感谢 ceejayoz 的提示。
我使用了旧版本的zendframework/zend-component-installer
我改为 "zendframework/zend-component-installer": "^2.1.2",
然后我更新了作曲家:composer update zendframework/zend-component-installer
然后最后我能够更新所有内容:composer update
。