Um Drupal mit Composer zu aktualisieren, müssen Sie nur die "drupal/core": "~8.1"Zeile vom Ersetzungsabschnitt in den erforderlichen Abschnitt verschieben. 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 upcDrupal zu aktualisieren, aber dadurch wurden meine Datei composer.json und das Herstellerverzeichnis überschrieben. Infolgedessen sollte ich composer updatealle Male ausführen , um den Inhalt des Herstellerverzeichnisses 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 Drupal-Repository noch im Alpha-Stadium und es gab mir Probleme mit Modulen, die sich als Composer-Pakete deklarierten, aber den Pakettyp (dh das Drupal-Modul) nicht festlegten. 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 ersetzen. Dies composer config repositories.0 composer https://packages.drupal.org/8funktioniert, wenn Sie keine anderen Repositorys haben Verwenden von 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) .
drush up drupal. Ich denke, dies könnte Ihre composer.json tho (und andere Dateien) überschreiben. Sichern Sie sie also und setzen Sie sie bei Bedarf zurück. Nach dieser Verwendungcomposer updateund Sie sollten