Trouble installing external Entities module in 10.3

Created on 1 July 2024, 5 months ago
Updated 19 July 2024, 4 months ago

As background, I have Drupal 10.3 installed, with php 8.2.

I am trying to install the module External Entities to link an external MYSQL database to Drupal site.

I am getting an error message External entities requires the galbar/jsonpath library.

When I run the command composer require galbar/jsonpath it rolls back my version of Drupal and crashed the site, which I can fix by updating back to 10.3.

It says jsonpath is installed but still brings back the error.

What should I do? (Note, I am new to doing this)

💬 Support request
Status

Fixed

Component

Miscellaneous

Created by

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @Michael Parry
  • 🇫🇷France guignonv

    That's weird because the galbar/jsonpath library should be automatically installed if you installed external entities using composer.
    Could you give us your composer output when you do a composer require drupal/external_entities?
    Note: you should not do "composer require galbar/jsonpath" because it should be managed automatically by composer when installing external entity module. The purpose of composer IS to manage dependencies and this dependency IS declared in external entity composer.json file.

    On my side, when I have time, I'll see if it is a problem of PHP version (8.2) not compatible with the JSONPath library.

  • I had loaded it through the Drupal add module rather than command line.

    I tried the command line and received this

    composer require drupal/external_entities

    Could not find a version of package drupal/external_entities matching your minimum-stability (stable). Require it with an explicit version
    constraint allowing its desired stability

  • 🇫🇷France guignonv

    Could you try, if not already:

    $ composer remove galbar/jsonpath
    $ composer require 'drupal/external_entities:^2.0@beta'

    Since you tried before to manually require jsonpath, I suspect that is blocking the rest. Then, I recommend using external entities v2 at the moment because v3 is not very stable yet and you may suffer from upcoming major changes not there yet (support for programmatically created xntt and also changes in the field mapper design). Upgrading from 2.0 to 3.0 will be handled when we got something stable.

  • Thank you.

    composer require 'drupal/external_entities:^2.0@beta'
    ./composer.json has been updated
    Running composer update drupal/external_entities
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 2 installs, 0 updates, 0 removals
    - Locking drupal/external_entities (2.0.0-beta1)
    - Locking galbar/jsonpath (2.1)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 2 installs, 0 updates, 0 removals
    - Downloading galbar/jsonpath (2.1)
    - Downloading drupal/external_entities (2.0.0-beta1)
    - Installing galbar/jsonpath (2.1): Extracting archive
    - Installing drupal/external_entities (2.0.0-beta1): Extracting archive
    Generating autoload files
    Hardening vendor directory with .htaccess and web.config files.
    44 packages you are using are looking for funding.
    Use the `composer fund` command to find out more!
    Scaffolding files for drupal/core:

    In Filesystem.php line 288:

    Could not delete /default.services.yml:

    require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] [
    ...]

    I got the above but also it downgraded my Drupal to 10.1.3 and crashed the site. I had to update back to Drupal 10.3 to get it running again.

  • 🇫🇷France guignonv

    ... it downgraded my Drupal to 10.1.3 and crashed the site. I had to update back to Drupal 10.3 to get it running again.

    That might be due to other module you installed without using composer I would bet. But you can still fix it by using composer to "re-install" them if it is the case. Composer is there to make sure, when you install a new module, that its requirements are met. When you use Drupal interface to install modules, those requirements are not checked and you may encounter issues like you just did. :)

    If you think everything is fine now, you can mark the issue as fixed. ;)

  • Thanks.

    When it goes back to 10.3 and the site is working I go back to a circular "requires the galbar/jsonpath library."

    I suspect it is to do with the way I have installed everything. Since I was new to using command prompt I had installed Drupal via the web interface Installatron my web provider has, and have ben installing extra module using the download tar.gz.

    I may need to nuke and reload (luckily I haven' done much yet) and install everything at the command level using composer.

    Thanks again for all the advice.

  • Status changed to Fixed 5 months ago
  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024