Composer update bricht mit Fehlermeldung ab
am 11.11.2021 - 16:33 Uhr in
Hallo,
wenn ich versuche mit Composer meine Drupal Instanz zu updaten, dann bekomme ich folgende Fehlermeldung:
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
- Downloading sebastian/exporter (3.1.4)
- Downloading sebastian/exporter (3.1.4)
- Downloading sebastian/exporter (3.1.4)
- Downloading sebastian/exporter (3.1.4)
Failed to download sebastian/exporter from dist: The "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0c32ea2e40dbf59de29f3b49bf375176ce7dd8db" file could not be written to /srv/www/test/home/www/vendor/composer/tmp-8525f3d10577507b8a25f0078f4b2607: failed to open stream: Permission denied
Now trying to download from source
- Syncing sebastian/exporter (3.1.4) into cache
- Removing sebastian/exporter (3.1.3)
Update of sebastian/exporter failed
[RuntimeException]
Could not delete /srv/www/test/home/www/vendor/sebastian/exporter/.php_cs.dist:
Er kann die Datei auch nicht löschen, denn die Datei ist gar nicht vorhanden. Auch den github link gibt es und ich kann davon eine zip runter laden, aber Composer mag nicht. Woran kann das liegen, weil die Schreibrechte sollte er haben.
In meiner composer.json steht folgendes:
{
"name": "drupal-composer/drupal-project",
"description": "Project template for Drupal 8 projects with composer",
"type": "project",
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "",
"role": ""
}
],
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
],
"require": {
"php": ">=5.6",
"composer/installers": "^1.9",
"cweagans/composer-patches": "^1.7",
"drupal/admin_toolbar": "^2.4",
"drupal/backup_migrate": "^5.0",
"drupal/cer": "^4.0@alpha",
"drupal/ckeditor_accordion": "^1.3",
"drupal/ckeditor_media_embed": "^1.10",
"drupal/console": "^1.9.7",
"drupal/content_access": "^1.0@alpha",
"drupal/content_moderation_notifications": "3.x-dev",
"drupal/core": "8.9.19",
"drupal/core-composer-scaffold": "*",
"drupal/cshs": "^3.4",
"drupal/ctools": "^3.7",
"drupal/devel": "^2.1",
"drupal/ds": "^3.13",
"drupal/editor_advanced_link": "1.x-dev",
"drupal/field_permissions": "^1.1",
"drupal/geolocation": "^3.7",
"drupal/htmlmail": "3.x-dev",
"drupal/improved_multi_select": "^1.7",
"drupal/insert": "^2.0@beta",
"drupal/mailsystem": "^4.3",
"drupal/menu_item_role_access": "^1.0",
"drupal/menu_trail_by_path": "^1.3",
"drupal/nagios": "^1.13",
"drupal/pathauto": "^1.8",
"drupal/redirect_after_login": "^2.6",
"drupal/rename_admin_paths": "^2.0",
"drupal/restui": "^1.20",
"drupal/role_delegation": "^1.1",
"drupal/search_api": "^1.20",
"drupal/security_review": "1.x-dev",
"drupal/simple_sitemap": "^3.10",
"drupal/smtp": "^1.0",
"drupal/svg_image": "^1.14",
"drupal/time_field": "^2.0",
"drupal/token": "^1.8",
"drush/drush": "^9.0.0",
"pear/archive_tar": "^1.4.14",
"phpmailer/phpmailer": "^6.1.7",
"vlucas/phpdotenv": "^2.4",
"webflo/drupal-finder": "^1.0.0",
"webmozart/path-util": "^2.3",
"zaporylie/composer-drupal-optimizations": "^1.0"
},
"require-dev": {
"drupal/core-dev": "^8.8.0",
"symfony/debug": "^3.4"
},
"conflict": {
"drupal/drupal": "*"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"optimize-autoloader": true,
"sort-packages": true
},
"autoload": {
"classmap": [
"scripts/composer/ScriptHandler.php"
],
"files": [
"load.environment.php"
]
},
"scripts": {
"pre-install-cmd": [
"DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
],
"pre-update-cmd": [
"DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
],
"post-install-cmd": [
"DrupalProject\\composer\\ScriptHandler::createRequiredFiles"
],
"post-update-cmd": [
"DrupalProject\\composer\\ScriptHandler::createRequiredFiles"
]
},
"extra": {
"composer-exit-on-patch-failure": true,
"patchLevel": {
"drupal/core": "-p2"
},
"installer-paths": {
"web/core": [
"type:drupal-core"
],
"web/libraries/{$name}": [
"type:drupal-library"
],
"web/modules/contrib/{$name}": [
"type:drupal-module"
],
"web/profiles/contrib/{$name}": [
"type:drupal-profile"
],
"web/themes/contrib/{$name}": [
"type:drupal-theme"
],
"drush/Commands/{$name}": [
"type:drupal-drush"
]
},
"drupal-scaffold": {
"locations": {
"web-root": "web/"
}
}
}
}
Meine Composerversion ist die aus dem Debian stable release: composer 1.8.4-1+deb10u1
Ich versuche auch gerade die Version auf die 2 hoch zu heben, aber das momentane Problem hat doch nichts zu tun mit dem Versionunterschied?
Kann ich Composer irgendwie neu einrichten?
Wäre für jede Idee sehr dankbar.
Bavra
- Anmelden oder Registrieren um Kommentare zu schreiben
Fehlermeldung
am 11.11.2021 - 19:35 Uhr
Die Meldung
failed to open stream: Permission denied
sagt doch eigentlich genug. Das Verzeichnis /srv/www/test/home/www/vendor/composer/ ist für den composer nicht beschreibbar. Also dort die Rechte so setzen, daß Du mit Deinem Account in diesem Verzeichnis schreiben kannst.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Fehlermeldung
am 12.11.2021 - 13:09 Uhr
Vielen Dank für Deine Rückmeldung. Das mit der Fehlermeldung kam etwa unerwartet, weil der neu ist. Aber das sind jetzt die Benutzerrechte auf Linuxebene.
Aber dann wollte ich gerne die Module sortieren. Also einige Module befinden sich unter modules, andere unter /modules/contrib
und eines gehört eigentlich unter /modules/custom
Ich habe auch das Modul verschoben, aber dann knallt es und die Seite wirft ist nicht mehr aufrufbar. Ein drush cache-rebuild läuft zwar durch, aber ohne Besserung.
Muss ich oder was muss ich die composer.js ergenzen, dass er auch die Module aus custom nimmt?
Grüße
Wenn Module werder in custom
am 12.11.2021 - 14:56 Uhr
Wenn Module werder in custom noch in contrib einsortiert sind, wurden sie nicht mittels composer sondern über das GUI im Browser installiert. Composer kümmert sich um Alles, was er im composer.json findet. Module, die in custom liegen, sollten daher eher nicht im composer.json stehen (es sei denn Du kümmerst Dich selbst um die composer Verwaltung dieser Module). Wenn Du Module verschieben willst, kannst Du das machen, aber danach, noch vor jedem Browser Aufruf!!, ein drush cr absetzen, damit die Lage der Module in den Caches neu geschrieben wird. Andernfalls knallt es. Wenn Du Fehler bekommst (weiße Seite oder "Unbekannter Fehler") immer im PHP-Errorlog nach der Ursache suchen. Manchmal sind es simple Dämlichkeiten.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *