Score:0

What does "Entity API >= 8.x-1.0-alpha3 module is now a dependency and needs to be installed before running updates" during drush updatedb mean?

in flag

I am doing a Drupal 8.6.18 to 8.9.19 update via composer.

After upgrading the packages via composer, I updated the database, which shows a warning:

$ vendor/bin/drush updatedb
<a href="https://www.drupal.org/project/entity">Entity API >= 8.x-1.0-alpha3</a>
 module is now a dependency and needs to be installed before running updates.
 (Currently using Media entity Entity API missing)                   
 [error]
Requirements check reports errors. Do you wish to continue? (y/n): 

Continuing works, but I am a little scared.

What is the background of this message?

drupal/entity is already at version 1.3.0:

$ composer show drupal/entity
[...]
versions : * 1.3.0

What is interesting, is that pm:info does not show a version information for the entity module. Is this maybe the reason?

$ vendor/bin/drush pm:info entity
 Extension        :  entity                                                                                                                                                                                                             
 Project          :  Unknown                                                                                                                                                                                                            
 Type             :  module                                                                                                                                                                                                             
 Title            :  Entity                                                                                                                                                                                                             
 Description      :  Provides expanded entity APIs, which will be moved to Drupal core one day.                                                                                                                                         
 Package          :  Other                                                                                                                                                                                                              
 PHP              :  7.0.8                                                                                                                                                                                                              
 Status           :  enabled                                                                                                                                                                                                            
 Path             :  modules/contrib/entity                                                                                                                                                                                             
 Schema version   :  8000                                                                                                                                                                                                               
 Requires         :  none                                                                                                                                                                                                               
 Required by      :  media_entity, media_entity_document, media_entity_embeddable_video, media_entity_image, video_embed_media, foodservice_core, foodservice_globalelement, foodservice_product, foodservice_recipe, foodservice_video 
 Permissions      :  none                                                                                                                                                                                                               
 Configure        :  None                                                            

I have already read https://www.drupal.org/project/media_entity/issues/2722073, which comes to the conclusion that the entity module needs to be enabled. But it is in my case.

id flag
Does the entity module in that codebase have a version number in its info.yml file? There is a specific reason why it may not.
sonfd avatar
in flag
You should also be able to see the version number in the UI in the Modules list or the Available Updates page.
in flag
Yeah, the info.yml did not have any version number, the module was not listed in the UI. see my answer
Score:2
in flag

I think I found the reason. I was having docroot/modules/contrib/entity checked out from https://git.drupalcode.org/project/entity.git via composer. The git version does not seem to have a version field and then causes problems.

The underlying reason is, that before the update I was having this requirement:

"drupal/entity": "1.x-dev",

This instructs composer to clone the dev repo.

When updating I changed this to

"drupal/entity": "^1.2",

No composer could theoretically download the release-ZIP, but because the folder is already there it seems to just checkout the new version.

Deleting that folder docroot/modules/contrib/entity and composer install + cache rebuild solved the problem.

id flag
That is what I suspected.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.