PHP 致命错误:未捕获错误:在 /usr/share/php/Symfony/Component/Console/Helper/Helper.php 中找不到类“Normalizer”

Pac*_*hez 12 php laravel composer-php

我正在尝试在从 git 克隆的 Laravel 项目中进行作曲家安装。

\n

但我收到一些错误。

\n

我解决的第一个问题是:

\n

- phpunit/phpunit[8.5.0, ..., 8.5.x-dev] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.

\n

通过做:

\n

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

\n

但现在当我执行 a composer updatecomposer installI\xe2\x80\x99m 时得到这个答案:

\n

PHP Fatal error: Uncaught Error: Class 'Normalizer' not found in /usr/share/php/Symfony/Component/Console/Helper/Helper.php:129

\n

Stack trace:

\n
#0 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(516): Symfony\\Component\\Console\\Helper\\Helper::strlenWithoutDecoration()\n#1 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(576): Symfony\\Component\\Console\\Helper\\ProgressBar::Symfony\\Component\\Console\\Helper\\{closure}()\n#2 [internal function]: Symfony\\Component\\Console\\Helper\\ProgressBar->Symfony\\Component\\Console\\Helper\\{closure}()\n#3 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(589): preg_replace_callback()\n#4 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(414): Symfony\\Component\\Console\\Helper\\ProgressBar->buildLine()\n#5 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(323): Symfony\\Component\\Console\\Helper\\ProgressBar->display()\n#6 /usr/share/php/Composer/Util/Loop.php(85): Symfony\\Component\\Console\\Helper\\ProgressBar->start()\n#7 /usr/share/php/Compos in /usr/share/php/Symfony/Component/Console/Helper/Helper.php on line 129\n\nFatal error: Uncaught Error: Class 'Normalizer' not found in /usr/share/php/Symfony/Component/Console/Helper/Helper.php:129\nStack trace:\n#0 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(516): Symfony\\Component\\Console\\Helper\\Helper::strlenWithoutDecoration()\n#1 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(576): Symfony\\Component\\Console\\Helper\\ProgressBar::Symfony\\Component\\Console\\Helper\\{closure}()\n#2 [internal function]: Symfony\\Component\\Console\\Helper\\ProgressBar->Symfony\\Component\\Console\\Helper\\{closure}()\n#3 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(589): preg_replace_callback()\n#4 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(414): Symfony\\Component\\Console\\Helper\\ProgressBar->buildLine()\n#5 /usr/share/php/Symfony/Component/Console/Helper/ProgressBar.php(323): Symfony\\Component\\Console\\Helper\\ProgressBar->display()\n#6 /usr/share/php/Composer/Util/Loop.php(85): Symfony\\Component\\Console\\Helper\\ProgressBar->start()\n#7 /usr/share/php/Compos in /usr/share/php/Symfony/Component/Console/Helper/Helper.php on line 129\n
Run Code Online (Sandbox Code Playgroud)\n

Siv*_*jan 37

需要安装 php-intl

Normalizer 类附带 php 国际化扩展 (php-intl)。必须安装它才能使用 Normalizer 类

在 Debian 上我做了

sudo apt install php-intl
Run Code Online (Sandbox Code Playgroud)

它应该可以解决问题