Composer를 사용하여 Drupal을 업데이트하려면 "drupal/core": "~8.1"
라인을 바꾸기 섹션에서 필요 섹션 으로 이동하면 됩니다 . 결국 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
첫 번째로 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
잘 가야합니다