サイトのリポジトリをローカルコンピューターに複製し、データベースをインポートして、「Composer install --with-dependencies」を実行しました。インストールが完了した後、ローカルサイトにアクセスして機能し、「drush updb -y」を実行しましたそしてそれはいくつかのエラーと警告を示しました:
The following module is missing from the file system: aspambot [warning]
bootstrap.inc:268
The following module is missing from the file system: phpmailer [warning]
bootstrap.inc:268
...
PHP 27. include() /home/www/sites/zb/web/vendor/composer/ClassLoader.php:444
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Interface 'Doctrine\Common\Reflection\ClassFinderInterface'
not found in
/home/www/sites/zb/web/core/lib/Drupal/Component/Annotation/Reflection/MockFileFinder.php,
line 14
The external command could not be executed due to an application [error]
error.
PHP Fatal error: Interface 'Doctrine\Common\Reflection\ClassFinderInterface' not found in /home/www/sites/zb/web/core/lib/Drupal/Component/Annotation/Reflection/MockFileFinder.php on line 14
私はDrupalを使い始めたばかりなので、これらのエラーを乗り越えられるように助けてください。解決策が簡単なように思えるかもしれませんが、何をすべきかわかりません。ありがとうございました!
composerファイルで競合している"doctrine/common":">2.8"
を追加してから、composer update
を実行します。
"conflict": {
"drupal/drupal": "*",
"doctrine/common":">2.8"
},
問題を参照してください: https://www.drupal.org/project/drupal/issues/2986725
この問題が議論されている https://www.drupal.org/project/drupal/issues/2986725 へのリンクを提供してくれてありがとう。
その問題は「設計どおりに機能する」として終了しました。問題に関する最後のいくつかのコメントを見ると、その理由がわかります。この問題は、PHPキャッシュが原因で発生します。キャッシュをクリアすると(またはPHPを再起動するか、コンピューターを再起動するか、キャッシュに誤ったオートロードデータがないDockerコンテナーでPHPを使用すると)、問題は解消します。
キャッシュをクリアしても、現在のバージョンのdoctrine/common
に更新しない場合よりも副作用が少なくなります。