Score:0

Issues updating opigno_lms from 2.16.0 -> 2.29.0 -> 3.x using composer

fo flag

Having an issue with updating an old Opigno server from 2.16 to 3.0 via 2.29. For those unfamiliar, it's a distribution of Drupal that has some extra features for lessons, courses, etc.

When performing the update, the tool fails with "Your requirements could not be resolved to an installable set of packages.", indicating some sort of package conflict or dependency issue.

I've followed the instructions here:

After downloading the composer file for 2.29 and replacing my composer.json with the one linked in the instructions, I get the following output from composer update:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - drupal/ckeditor_font dev-1.x requires drupal/core ^9.3 || ^10 -> satisfiable by drupal/core[9.3.0-alpha1, ..., 9.5.x-dev, 10.0.0-alpha1, ..., 10.1.x-dev].
    - You can only install one version of a package, so only one of these can be installed: drupal/core[8.0.0-beta6, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.5.x-dev, 10.0.0-alpha1, ..., 10.1.x-dev].
    - You can only install one version of a package, so only one of these can be installed: drupal/core[8.7.0-alpha1, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.5.x-dev, 10.0.0-alpha1, ..., 10.1.x-dev].
    - You can only install one version of a package, so only one of these can be installed: drupal/core[8.4.0-rc1, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.4.3, 10.0.0-alpha1, ..., 10.0.0-alpha6].
    - drupal/ckeditor_font 1.x-dev is an alias of drupal/ckeditor_font dev-1.x and thus requires it to be installed too.
    - opigno/opigno_lms 2.29.0 requires drupal/core 8.9.20 -> satisfiable by drupal/core[8.9.20].
    - opigno/opigno_lms 2.29.0 requires drupal/ckeditor_font 1.x-dev -> satisfiable by drupal/ckeditor_font[1.x-dev (alias of dev-1.x)].
    - Root composer.json requires opigno/opigno_lms 2.29.0 -> satisfiable by opigno/opigno_lms[2.29.0].

I have also attempted to use other flags in the composer command such as "--no-plugins", "--ignore-platform-reqs", "--with-all-dependencies", etc.

I have also attempted to go from 2.16 directly to 3.x, and though the composer update works fairly well I get issues with database migrations after the update is complete. 2.x is based on Drupal 8.x, and Opigno 3.x is based on a more recent Drupal 9.x release.

The server I'm working is a VM with 2C/4G and lots of free disk space. The box is Ubuntu 22.04.5 LTS with PHP 7.4 & Nginx 1.18.0.

My question: is there a simple way to force the update to 2.29 to take place, or a set of manual SQL scripts I can apply to skip the intermediate stage? I have a testing server on hand, so I'm open to any experimental or 'odd' fixes that might be needed.

Note: I'm not a Drupal expert by any means (the site was created by a webdev years ago), but I am a fairly well rounded linux sysadmin.

Thanks, all!


Edit to add resolution:

As a wise user on the Drupal forum demonstrated, you can override dependencies as a workaround for this issue:

https://www.drupal.org/project/opigno_lms/issues/3323456#comment-14892149

"require" : {
    "drupal/ckeditor_font": "1.3 as 1.x-dev",
    ...
}

By forcing it to use the correct version, I was able to complete the upgrade without any other issues.

Hopefully this helps somebody else with the same or similar issues!

id flag
opigno/opigno_lms 2.29.0 requires Drupal 8 and drupal/ckeditor_font dev-1.x requires Drupal 9. You can't use both.
Noah Bailey avatar
fo flag
Is there a way to "hack together" a fix that would allow me to get just far enough to apply the 2.29 schema updates, allowing a full upgrade to 3.x?
id flag
I don’t fully understand why there is a development release of drupal/ckeditor_font in the site in question when in fact drupal/ckeditor_font has a stable release that is compatible with Drupal 8 and 9.
Noah Bailey avatar
fo flag
Interesting... Is there a simple way to override that version in my composer file, or to patch the upstream without having to fork it?
I sit in a Tesla and translated this thread with Ai:

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.