Closed XjSv closed 6 months ago
It seems like the issue is resolved if you install 'drupal/simplesamlphp_auth' from the root composer.json instead of the upstream-configuration one.
The caveat with this module should be documented, otherwise if you follow instructions and install any upstream dependencies in the upstream-configuration/composer.json file then you will inevitably run into this issue.
I wonder if the issue is not directly because of where you're adding the requirement for simplesamlphp
, but rather that a Simplesamlphp Composer plugin needs to be added to the list of allowed plugins in the root composer.json
file. This is corroborated in the issue referenced above: https://github.com/simplesamlphp/composer-module-installer/issues/3#issuecomment-249146309
I can confirm that our team requires simlesamlphp/simplesamlphp
and drupal/simplesamlphp_auth
by way of an external dependency, so our experience is that you do not have to require this in the root composer.json
file.
I think this doesn't have anything to do with Pantheon.
It sounds like it's definitely a composer configuration issue, maybe on my end. The issue is that I already have simplesamlphp/composer-module-installer in my root composer.json file's allowed plugins section.
On simplesamlphp 2.1 the static folder is public
instead www
https://www.drupal.org/project/simplesamlphp_auth/issues/3340606 https://simplesamlphp.org/docs/2.1/simplesamlphp-upgrade-notes-2.0.html
this is not an issue with the upstream-management package or Pantheon - in addition to allowing simplesamlphp/composer-module-installer in the root composer.json file's allowed plugins section, you need to actually composer require simplesamlphp/composer-module-installer: "^1.2.0",
and then configure the installer types and install path for the saml modules in the extra
section of the root composer.json:
eg
"installer-types": [
"simplesamlphp-module"
],
and
"installer-paths": {
"vendor/simplesamlphp/simplesamlphp/{$name}": ["type:simplesamlphp-module"]
},
@lcatlett Thank you! The solution you provided works.
I am currently using the
pantheon-systems/upstream-management
package to manage a custom upstream. When settings everything up and running the initial composer install, everything is installed correctly.Then I run the
composer update-upstream-dependencies
and commit everything except the root/composer.lock file.The problem is that when setting up a separate site based on the committed upstream code and running
composer install
the simplesamlphp modules are installed in the root directory instead of inside the /vendor/simplesamlphp directory. There is no root lock file before running composer install, theupstream-configuration/locked/composer.json
is also included in the root composer.json file.This does not happen if I don't use
pantheon-systems/upstream-management
.The issue is similar as this: https://github.com/simplesamlphp/composer-module-installer/issues/3