Composerを使用してDrupalを更新するには、"drupal/core": "~8.1"
行をreplaceセクションからrequireセクションに移動するだけです。最後にcomposer.jsonファイルの内容は次のようになります。
{
"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"
},
}
私はdrush upc
Drupalを更新するために実行されていましたが、それは私のcomposer.jsonファイルとベンダーディレクトリを上書きしました。このためcomposer update
、ベンダーディレクトリのコンテンツを更新するために、常に実行する必要があります。
これで、Composerを使用してDrupalを更新し、使用しているモジュールをダウンロード/更新することもできます。
私が使用しているcomposer.jsonファイルは次のファイルです。
{
"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"
}
}
}
言ったようにその行を移動する以外に、次のコマンドも実行しました。
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
1つ目は、Drupalモジュールを要求して更新することです。
最後に試したとき、Drupal公式リポジトリはまだアルファ段階にあり、それ自体がComposerパッケージとして宣言されているが、パッケージタイプ(つまり、drupal-module)を設定していないモジュールに問題がありました。彼らが問題を解決したことを願っています。Drupal Packagerリポジトリーで使用するコマンドは次のとおりです。
composer config repositories.drupal composer https://packages.drupal.org/8
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 1.*@dev
すでにhttps://packagist.drupal-composer.orgを使用していて、公式のPackagistサイトに置き換える場合は、最初のコマンドをに置き換える必要がありcomposer config repositories.0 composer https://packages.drupal.org/8
ます。これは、他のリポジトリがない場合に機能します。packages.drupal.orgの使用。
また、packagist.drupal-composer.orgは2017年1月(またはDrupal.orgの公式パッケージリポジトリの準備ができたとき)に廃止される予定です。
drush up drupal
、これはあなたのcomposer.json tho(および他のファイル)をオーバーライドするかもしれないと思うので、それをバックアップし、必要に応じて元に戻します。その使用後composer update
、あなたは行くのが良いはずです