Odd problems with Drupal 8.7.7 and drupal/jsonapi 2.4.0 I share a release branch with a team of developers and I am the only one having this problem locally (see below).

$ git reset --hard origin/2019-Oct-R2
HEAD is now at 8e5cec59b1 WWW-1599 update spoke service definition and update jsonapi module
$ git status
On branch 2019-Oct-R2
Your branch is up to date with 'origin/2019-Oct-R2'.

nothing to commit, working tree clean


At this point I am on the latest release branch with no tracked or untracked files (same as my colleagues), I then try this:

$ composer update nothing
Gathering patches for root package.
&gt; DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: remove drupal/core 8.7.7
    - Conclusion: don't install drupal/core 8.7.7
    - don't install drupal/core 8.7.7|remove drupal/jsonapi 2.4.0
    - don't install drupal/jsonapi 2.4.0|don't install drupal/core 8.7.7
    - don't install drupal/jsonapi 2.4.0|don't install drupal/core 8.7.7
    - Installation request for drupal/core 8.7.7 -&gt; satisfiable by drupal/core[8.7.7].
    - Installation request for drupal/jsonapi (locked at 2.4.0, required as ^2.4) -&gt; satisfiable by drupal/jsonapi[2.4.0].


Can anyone interpret this error message for me?
Composer is showing those error messages because you are updating to Drupal 8.7.7 and the JSON:API module is a requirement the composer.json file contains. (That is why the error message says locked at 2.4.0, required as ^2.4.)

Since the module is now part of Drupal core (as the project page and the release notes for version 8.x-2.4 say), updating to Drupal 8.7.7 would cause the module version to be updated to 8.7.7. (The version of every Drupal-core module is the Drupal version.) That is not allowed from the composer.json file which, with a restriction like ^2.4, just allows versions that aren't higher than 2.

Editing the composer.json file to accept any version of that module would avoid those error messages.
There would still be the problem of having two versions of the module installed in two different directories. I would rather uninstall the module before updating Drupal, but I am not sure how it would possible to preserve the module settings.