我在我的代码库上收到此警告,这是我的composer
Package zendframework/zend-eventmanager is abandoned, you should avoid using it. Use laminas/laminas-eventmanager instead.
因此我需要升级Doctrine Migrations bundle
,但似乎无法升级,也找不到升级日志。
首先,我得到关于Doctrine\DBAL\Migrations\AbstractMigration
的错误,因此我将它们全部替换为Doctrine\Migrations\AbstractMigration
。现在我得到
Compile Error: Declaration of Application\Migrations\Version20170927104049::up(Doctrine\DBAL\Schema\Schema $schema) must be compatible with Doctrine\Migrations\AbstractMigration::up(Doctrine\DB
AL\Schema\Schema $schema): void
我要求更改日志https://github.com/doctrine/DoctrineMigrationsBundle/issues/296
但是任何帮助将不胜感激
答案 0 :(得分:0)
该错误告诉您您的函数与抽象函数不兼容,您是否忘记将返回类型添加到函数中?
做到:
public function up(Schema $schema) : void
{}
答案 1 :(得分:0)
您应该首先通过composer upgrade
升级软件包-例如,在您的composer.lock
中,您使用的ocramius/proxy-manager
在该捆绑包中已有近三年的版本,并且这需要废弃的包装。名称从zendframework/zend-eventmanager
更改为laminas/laminas-eventmanager
是在2019年进行的。
下一步可能是升级约束,以便您甚至需要更新的软件包。例如,doctrine/doctrine-migrations-bundle
或symfony/swiftmailer-bundle
的更新版本要多得多,并且不时更新它们有助于避免出现问题。随着已安装版本与最新版本之间的差距越来越大,升级过程也变得越来越复杂。
另一方面:如果您的代码仍能正常工作,则可以忽略该警告。它告诉您,给定的软件包毕竟不会收到任何更新,但这并不意味着您会立即处于危险之中