[gelöst] Composer Core-Update von 8.4.2 auf 8.5.6 passiert nix
am 07.09.2018 - 09:43 Uhr in
Ich hänge schon wieder mit Composer in der Luft.
Habe eine Webseite die mit Composer erzeugt wurde.
Folglich ist die Strukur die, dass es einen übergeordneten ordner mit vendor, config, drush ect. gibt und darin den Subordner web, in dem sich das core, module ect. befinden.
Nun möchte ich mit Composer von 8.4.2 auf 8.5.6 updaten.
Da die Seite mit
create-project drupal-composer/drupal-project:8.x.x erzeugt wurde, verwende ich ja zum Update
composer update drupal/core webflo/drupal-core-require-dev --with-dependencies
Danach dann möchte ich dann mit Drush Datenbankupdate und Cache leeren.
Das hat kürzlich mal ganz gut geklappt.
Nun bekomme ich es nicht mehr hin.
Es wird zwar einiges runter geladen, aber im Backend nicht angezeigt, dass Core update stattgefunden hat.
composer outdated drupal/* zeigt mir nur die Module an, die zum Upate anstehen, aber nicht das Core.
Inzwischen bin ich so verwirrt, dass ich nicht mal mehr weiß, welchen der Befehle ich in welchem Ordner ausführen muss.
Also ob in dem Überordner mit vendor, web ect.
Oder im web-Ordner?
Ich fand auch schon Hinweise, von wegen im web/core Ordner.
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo Regina, ich versuche
am 08.09.2018 - 13:14 Uhr
Hallo Regina,
ich versuche immer, ohne den Composer auszukommen und alles "mit der Hand" zu machen.
Bis jetzt habe ich damit ganz gute Erfahrungen gemacht.
Das geht natürlich nicht bei Modulen, die nur mit dem Composer installiert werden können (siehe: GDPR-Export).
Ein Problem sind ja die vielen vielen Dateien von Drupal 8.
Ich mache es so, dass ich die in ein tar zusammenpacken, dieses hochlade und dann entpacke.
Wenn du dann noch das Core und vendor Verzeichnis auf dem Server direkt löschst und nicht per FTP, bist du mit der Technik auch ganz fix.
Gruß
Berthold
Drupal Video-Tutorials
Versuche mal folgenden
am 08.09.2018 - 17:51 Uhr
Versuche mal folgenden Command.
composer prohibits drupal/core:8.5.6
Das müsste dir anzeigen warum er den Core nicht updaten kann. Ich vermute es liegt an Symfony Komponenten. Der Update Command schließt nämlich seit einer Weile auch die Symfony Pakete mit ein.
composer update drupal/core webflo/drupal-core-require-dev 'symfony/*' --with-dependencies
Siehe: https://github.com/drupal-composer/drupal-project/blob/8.x/README.md
Danke Zman, das war der
am 11.09.2018 - 15:48 Uhr
Danke Zman,
das war der Bringer...
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
@Torfnase, ich habe schon
am 11.09.2018 - 15:58 Uhr
@Torfnase, ich habe schon einige Module, die Composer verlangen.
Und inzwischen finde ich auch ganz praktisch, damit Projekte zu installieren.
Auch wenn beim Update mit Composer so gut wie immer irgendwas schief geht. ;-)
Oder meinst Du, du pflegst die Abhängigkeiten per Hand in der composer.json?
Dazu muss ich die von mir aus x Quellen selbst erstellte Doku erst noch besser verstehen.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Jetzt muss ich noch mal
am 12.09.2018 - 15:21 Uhr
Jetzt muss ich noch mal nachhaken.
Es wurde nicht, wie von mir gewünscht, die 8.5.6 installiert, sondern die 8.6.1
Die bringt aber beim Update (egal ob Drush oder händisch) folgenden Fehler:
views-Modul
table_display_cache_max_age aktualisieren
Fehlgeschlagen: InvalidArgumentException: Placeholders must have a trailing [] if they are to be expanded with an array of values. in Drupal\Core\Database\Connection->expandArguments() (Zeile 729 in /drupal-root/web/core/lib/Drupal/Core/Database/Connection.php).
Habe schon mehrmals wieder mit sauberem Backup getestet und versch. Versuche gemacht.
Das waren die Befehle:
1. composer update drupal/core webflo/drupal-core-require-dev 'symfony/*' --with-dependencies
2. composer update drupal/core webflo/drupal-core-require-dev:8.5.6 --with-dependencies
3. /drupal-root/vendor/drush/drush/drush.php updatedb (ersatzweise per Hand update.php
Lese mich durch verschiedene Dokus zum Thema Update von 8.4.x auf 8.5.x und egal was ich mache, wird immer die 8.6 installiert, der ich aber noch nicht ganz traue.
Bzw. ich würde sie ja testen, wenn nicht oben die Fehlermeldung käme.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Also wenn du exakt Version
am 12.09.2018 - 15:50 Uhr
Also wenn du exakt Version 8.5.6 willst solltest Du die auch angeben bei Drupal core
composer update drupal/core:8.5.6
Ansonsten führt composer update drupal/core ja immer zu aktuellsten Version und das ist gerade 8.6.1.
Oder Du setzt in der Composer-Json die Version fix auf 8.5.6 oder 8.5.x, dann sollte as auch mit composer update drupal/core klappen.
Für webflo/drupal-core-require-dev gilt dasselbe, aber das hast Du ja schon in Punkt 2 schon so gemacht (wobei da auch noch symfony fehlt? Oder hast Du 1 und 2 ausgeführt?)
Ja Punkt 1 hatte ich
am 12.09.2018 - 17:38 Uhr
Ja Punkt 1 hatte ich durchgeführt.
Mir ist immer noch nicht klar, wann man den webflo-Update macht und wann den einfachen composer update drupal/core.
Gelesen habe ich, webflo, weil ich die Installation auch mit composer create erstellt habe.
In der Composer-Json hatte ich versuchweise das drupal/core auf 8.5.6 gesetzt.
In der Doku, wo ich den Tipp her hatte, hat es auch geheißen, ich sollte
"drupal/core": "~8.5"
// ...and
"webflo/drupal-core-require-dev": "~8.5"
ändern.
Aber eine Zeile mit "webflo/drupal-core-require-dev" gibt es in meiner composer.json nicht.
Wenn ich die Zeile ergänzt habe, dann wurde die composer.json nicht mehr erkannt.
Und nur der Eintrag drupal/core": "8.5.6" mit nachfolgendem Update hat nicht funktioniert bzw, wieder "8.6.1" gebracht.
Inzwischen habe ich wieder die sauberer 8.4.x hergestellt und werde es jetzt einfach mal mit composer update drupal/core:8.5.6 probierenstatt mit dem ominösen Webflo. ;-)
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Und wieder das gleiche
am 12.09.2018 - 17:51 Uhr
Und wieder das gleiche Spiel.
Man sollte einfach die Einträge auf der Console etwas näher ansehen ;-)
Bereits der Befehl, mit dem ich nur Symphonie updaten möchte, holt das Paket für die 8.6.1.
composer update drupal/core webflo/drupal-core-require-dev 'symfony/*' --with-dependencies
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Package "webflo/drupal-core-require-dev" listed for update is not installed. Ignoring.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 36 updates, 0 removals
- Updating symfony/polyfill-mbstring (v1.6.0 => v1.9.0): Loading from cache
- Updating paragonie/random_compat (v2.0.11 => v2.0.17): Loading from cache
- Installing symfony/polyfill-php70 (v1.9.0): Loading from cache
- Updating symfony/http-foundation (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/event-dispatcher (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/debug (v3.3.13 => v3.4.15): Loading from cache
- Installing symfony/polyfill-ctype (v1.9.0): Loading from cache
- Updating symfony/http-kernel (v3.2.14 => v3.4.15): Loading from cache
- Updating asm89/stack-cors (1.1.0 => 1.2.0): Loading from cache
- Updating guzzlehttp/guzzle (6.3.0 => 6.3.3): Loading from cache
- Updating symfony/class-loader (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/console (v3.2.14 => v3.4.15): Loading from cache
- Installing psr/container (1.0.0): Loading from cache
- Updating symfony/dependency-injection (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/polyfill-iconv (v1.6.0 => v1.9.0): Loading from cache
- Updating symfony/process (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/psr-http-message-bridge (v1.0.0 => v1.1.0): Loading from cache
- Updating symfony/routing (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/serializer (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/translation (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/validator (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/yaml (v3.2.14 => v3.4.15): Loading from cache
- Updating twig/twig (v1.35.0 => v1.35.4): Loading from cache
- Updating zendframework/zend-diactoros (1.6.1 => 1.8.6): Loading from cache
- Updating zendframework/zend-stdlib (3.1.0 => 3.2.1): Loading from cache
- Updating zendframework/zend-escaper (2.5.2 => 2.6.0): Loading from cache
- Updating zendframework/zend-feed (2.8.0 => 2.10.3): Loading from cache
- Updating symfony/css-selector (v3.3.13 => v3.4.15): Loading from cache
- Updating symfony/var-dumper (v3.3.13 => v3.4.15): Loading from cache
- Updating symfony/finder (v3.3.13 => v3.4.15): Loading from cache
- Updating symfony/filesystem (v3.3.13 => v3.4.15): Loading from cache
- Updating symfony/config (v3.2.14 => v3.4.15): Loading from cache
- Updating symfony/polyfill-apcu (v1.6.0 => v1.9.0): Loading from cache
- Updating symfony/cache (v3.3.13 => v3.4.15): Loading from cache
- Updating symfony/expression-language (v3.3.13 => v3.4.15): Loading from cache
- Updating doctrine/inflector (v1.1.0 => v1.2.0): Loading from cache
- Updating symfony/dom-crawler (v3.3.13 => v3.4.15): Loading from cache
- Updating symfony/browser-kit (v3.3.13 => v3.4.15): Loading from cache
- Updating drupal/core (8.4.2 => 8.6.1): Loading from cache
Ich muss diesen Befehl also noch so abwandeln, dass er die gewünschte Version installiert.
Dann bin ich erst mal wieder weg, die Version 8.4.x wieder herstellen.
Bis gleich. ;-)
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Also, mein Fehler war, dass
am 12.09.2018 - 19:25 Uhr
Also, mein Fehler war, dass ich die händische Einstellung in der composer.json erst nach dem update von symfony gemacht habe.
Nun noch mal der Reihe nach:
1. Händische Änderung in der composer.json:
"drupal/core": "8.5.6"
2. Update von Symfonie mit webflo (ohne geht es definitiv nicht)
composer update drupal/core webflo/drupal-core-require-dev '/*' --with-dependencies
3. Ins Unterverzeichnis wechseln, wo Core ect. liegen:
cd web
4. Datenbank Update
/drupal-root/vendor/drush/drush/drush.php updatedb
5. Cache leeren
/drupal-root/vendor/drush/drush/drush.php cr
(Warum ist das noch nötig, wenn doch mit updatedb bereits "Cache rebuild complete" angezeigt wird? Egal...
Gut, dann sollte das Update der Module ja kein Problem mehr sein.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Hallo montvisofunktioniert
am 08.11.2018 - 12:12 Uhr
Hallo montviso
funktioniert dein Command-Befehl auch auf localhost (Xampp)
/drupal-root/vendor/drush/drush/drush.php updatedb
bei mir kommt dann
Das System kann den angegebenen Pfad nicht finden.
oder
Der Befehl "drush" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
ich habe drush im Vendor Ordner und eine Ebene höher im Drupal-Root
pidru
Ich habe nicht viel Erfahrung
am 09.11.2018 - 20:37 Uhr
Ich habe nicht viel Erfahrung mit Composer und Drush unter Windows.
Bzw. habe ganz schnell aufgegeben und teste nur noch unter Linux.
Aber unter Windows müsstest Du doch bei der Pfadangabe auch noch einen Laufwerksbuchstaben haben auf der Konsole, oder fehlt der nur hier?
Und dann war ja auch noch was mit den Umgebungsvariablen:
https://www.drupalcenter.de/node/51883
Welche Versionen Windwos / Drush hast Du denn?
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Danke! offensichtlich ist es
am 10.11.2018 - 10:14 Uhr
Danke!
offensichtlich ist es sinnvoll/nötig drush launcher zu nutzen
https://drupal.stackexchange.com/questions/259219/why-isnt-drush-recognized-as-command
ich werde das dann mal ausprobieren....
pidru