it-swarm.com.de

Wie aktualisiere ich den Kern mit Composer?

Ok, zugegebenermaßen bin ich ein Anfänger composer Anfänger). Also habe ich auf meiner vorherigen Seite composer Manager verwendet, um Drupals Kern zu aktualisieren. Das war ziemlich einfach Verwenden Sie (führen Sie einfach "Composer Drupal-Update" aus). composer Manager sagt jetzt, dass es veraltet ist.

Die Version Drupal 8 dieses Moduls ist veraltet und wird aufgrund von Verbesserungen in Drupal 8.1. Use Composer) nicht mehr benötigt direkt, um die benötigten Module zu erhalten, die auch die erforderlichen Bibliotheken herunterladen.

Daher habe ich heute eine Warnung erhalten, dass ich Sicherheitsupdates auf den Core anwenden muss, aber ich kann keine Dokumentation darüber finden, wie Sie Drupal Core mit Composer aktualisieren würden).

Wird dies über Drupal Console, Drush oder ist es ein tatsächlicher composer Befehl, den ich ausführen muss? Ich bin mir nicht ganz sicher, was der bevorzugte Prozess ist) außerhalb von "Laden Sie die neueste Version von Drupal von drupal.org herunter und ersetzen Sie alle Dateien manuell").

10
DrupalMonster

Um Drupal mit Composer zu aktualisieren, müssen Sie nur die Zeile "drupal/core": "~8.1" Aus dem Abschnitt replace verschieben Zum Abschnitt require . Am Ende ist der Inhalt der Datei composer.json wie folgt.

{
    "name": "drupal/drupal",
    "description": "Drupal is an open source content management platform powering millions of websites and applications.",
    "type": "project",
    "license": "GPL-2.0+",
    "require": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/core": "~8.1"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    },
    "extra": {
        "_readme": [
            "By default Drupal loads the autoloader from ./vendor/autoload.php.",
            "To change the autoloader you can edit ./autoload.php."
        ],
        "merge-plugin": {
            "include": [
                "core/composer.json"
            ],
            "recurse": false,
            "replace": false,
            "merge-extra": false
        }
    },
    "autoload": {
        "psr-4": {
            "Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
        }
    },
    "scripts": {
        "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
        "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
        "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
        "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
    },
}

Ich wurde verwendet, um drush upc Auszuführen, um Drupal zu aktualisieren, aber dadurch wurden meine Datei composer.json und das Herstellerverzeichnis überschrieben. Infolgedessen sollte ich immer composer update Ausführen, um den Inhalt des Vendor-Verzeichnisses zu aktualisieren.

Mit Composer zum Aktualisieren von Drupal kann ich jetzt auch die von mir verwendeten Module herunterladen/aktualisieren.

Die von mir verwendete Datei composer.json ist die folgende.

{
    "name": "drupal/drupal",
    "description": "Drupal is an open source content management platform powering millions of websites and applications.",
    "type": "project",
    "license": "GPL-2.0+",
    "require": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/core": "~8.1",
        "drupal/imagick": "8.1.*@dev",
        "drupal/mollom": "^8.1",
        "drupal/honeypot": "^8.1"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    },
    "extra": {
        "_readme": [
            "By default Drupal loads the autoloader from ./vendor/autoload.php.",
            "To change the autoloader you can edit ./autoload.php."
        ],
        "merge-plugin": {
            "include": [
                "core/composer.json"
            ],
            "recurse": false,
            "replace": false,
            "merge-extra": false
        }
    },
    "autoload": {
        "psr-4": {
            "Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
        }
    },
    "scripts": {
        "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
        "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
        "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
        "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
    },
    "repositories": {
        "drupal": {
            "type": "composer",
            "url": "https://packagist.drupal-composer.org"
        }
    }
}

Abgesehen davon, dass ich diese Zeile wie gesagt verschoben habe, habe ich auch die folgenden Befehle ausgeführt.

composer config repositories.drupal composer https://packagist.drupal-composer.org
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 8.1.*@dev

Mit dem ersten kann ich Drupal Module) anfordern und aktualisieren.

Das letzte Mal, als ich es versuchte, befand sich das offizielle Repository Drupal) noch im Alpha-Stadium, und es gab mir Probleme mit Modulen, die sich als Composer -Pakete deklarierten, aber nicht Festlegen des Pakettyps (dh Drupal-Modul). Ich hoffe, sie haben das Problem jetzt behoben. Für das Drupal Packager-Repository sind die folgenden Befehle zu verwenden.

composer config repositories.drupal composer https://packages.drupal.org/8
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 1.*@dev

Wenn Sie bereits https://packagist.drupal-composer.org verwendet haben und durch die offizielle Packagist-Site ersetzen möchten, müssen Sie den ersten Befehl durch composer config repositories.0 composer https://packages.drupal.org/8 Ersetzen. Dies funktioniert, wenn Sie keine anderen Repositorys haben, basierend auf sing packages.drupal.org .

Beachten Sie auch, dass packagist.drupal-composer.org voraussichtlich im Januar 2017 veraltet sein wird (oder wenn das offizielle Paket-Repository von Drupal.org fertig ist) .

10
kiamlaluno