Untuk memperbarui Drupal menggunakan Komposer, Anda hanya perlu memindahkan "drupal/core": "~8.1"
baris dari bagian ganti ke bagian yang diperlukan . Pada akhirnya konten file composer.json adalah seperti yang berikut ini.
{
"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"
},
}
Saya terbiasa menjalankan drush upc
untuk memperbarui Drupal, tetapi itu menimpa file composer.json saya, dan direktori vendor. Sebagai konsekuensi dari ini, saya harus menjalankan composer update
semua waktu untuk memperbarui konten direktori vendor .
Sekarang, menggunakan Komposer untuk memperbarui Drupal, saya juga dapat menggunakannya untuk mengunduh / memperbarui modul yang saya gunakan.
File composer.json yang saya gunakan adalah yang berikut.
{
"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"
}
}
}
Selain memindahkan baris itu seperti yang saya katakan, saya juga menjalankan perintah berikut.
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
Yang pertama memungkinkan saya untuk memerlukan modul Drupal dan memperbaruinya.
Terakhir kali saya mencoba, repositori resmi Drupal masih dalam tahap alfa, dan itu memberi saya masalah dengan modul yang menyatakan diri sebagai paket Komposer, tetapi tidak menetapkan jenis paket (yaitu modul drupal). Saya harap mereka memperbaiki masalahnya, sekarang. Untuk repositori Drupal Packager, perintah yang digunakan adalah sebagai berikut.
composer config repositories.drupal composer https://packages.drupal.org/8
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 1.*@dev
Jika Anda sudah menggunakan https://packagist.drupal-composer.org , dan Anda ingin mengganti dengan situs resmi Packagist, Anda perlu mengganti perintah pertama dengan composer config repositories.0 composer https://packages.drupal.org/8
, yang berfungsi jika Anda tidak memiliki repositori lain, berdasarkan Menggunakan paket.drupal.org .
Perhatikan juga bahwa packagist.drupal-composer.org dijadwalkan akan dihentikan pada Januari 2017 (atau ketika Repositori Paket resmi dari Drupal.org siap) .
drush up drupal
, saya pikir ini mungkin menimpa composer.json Anda tho (dan file lainnya) jadi cadangkan dan kembalikan jika diperlukan. Setelah itu gunakancomposer update
dan Anda akan baik-baik saja