я не могу добавить пакет, и мне нужно зарегистрироваться для подтверждения использования электронной почты
композитор требует symfonycasts/verify-email-bundle
Problem 1
- doctrine/doctrine-migrations-bundle is locked to version 3.0.1 and an update of this package was not requested.
- doctrine/doctrine-migrations-bundle 3.0.1 requires php ^7.2 -> your php version (8.0.0) does not satisfy that requirement.
Problem 2
- doctrine/orm is locked to version 2.7.4 and an update of this package was not requested.
- doctrine/orm 2.7.4 requires php ^7.1 -> your php version (8.0.0) does not satisfy that requirement.
Problem 3
- doctrine/orm 2.7.4 requires php ^7.1 -> your php version (8.0.0) does not satisfy that requirement.
- doctrine/doctrine-fixtures-bundle 3.4.0 requires doctrine/orm ^2.6.0 -> satisfiable by doctrine/orm[2.7.4].
- doctrine/doctrine-fixtures-bundle is locked to version 3.4.0 and an update of this package was not requested.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
PS C:\Projecto\Symfony\Symfony5\xxx>
Исключение:
Cannot autowire service "App\Security\EmailVerifier": argument "$helper" of method "__construct()" has type "SymfonyCasts\Bundle\VerifyEmail\VerifyEmailHelperInterface" but this class was not found.
Приложение\Безопасность\EmailVerifier.php
пространство имен App\Security;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Security\Core\User\UserInterface;
use SymfonyCasts\Bundle\VerifyEmail\Exception\VerifyEmailExceptionInterface;
use SymfonyCasts\Bundle\VerifyEmail\VerifyEmailHelperInterface;
class EmailVerifier
{
private $verifyEmailHelper;
private $mailer;
private $entityManager;
public function __construct(VerifyEmailHelperInterface $helper, MailerInterface $mailer, EntityManagerInterface $manager)
{
$this->verifyEmailHelper = $helper;
$this->mailer = $mailer;
$this->entityManager = $manager;
}
Эта проблема никоим образом не связана с symfonycasts/verify-email-bundle
- просто прочитайте сообщение: вам требуется doctrine/doctrine-migrations-bundle
в вашей конфигурации, и вы используете PHP 8. Этот пакет Doctrine еще не был совместим с PHP 8, так как doctrine/migrations
не совместим с PHP 8.
Вам нужно либо удалить эти пакеты, либо перейти на PHP 7.
Вам просто нужно установить symfonycasts/verify-email-bundle
запустить композитор, потребовать symfonycasts/verify-email-bundle
Это выглядит довольно странно для меня - это именно та команда, которая используется, и именно эта команда выдает данную ошибку.
Это происходит, когда symfony/mailer не установлен
composer require symfony/mailer
Пожалуйста, добавьте некоторое объяснение к вашему ответу, чтобы другие могли извлечь из него уроки. Почему symfony/mailer
должен содержать класс из пространства имен SymfonyCasts\Bundle\VerifyEmail
? Или почему он должен разрешать данные сообщения об ошибках, выдаваемые Composer, жалующиеся на неправильную версию PHP?
Это все еще обновляется?