0

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!

4
  • opigno/opigno_lms 2.29.0 requires Drupal 8 and drupal/ckeditor_font dev-1.x requires Drupal 9. You can't use both.
    – cilefen
    Nov 25, 2022 at 14:19
  • 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? Nov 25, 2022 at 21:39
  • 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.
    – cilefen
    Nov 25, 2022 at 22:50
  • Interesting... Is there a simple way to override that version in my composer file, or to patch the upstream without having to fork it? Nov 28, 2022 at 14:16

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.