Composer로 Drupal 코어 업데이트.

Learn DrupalDrupal-woordenlijst

이 글은 Drupal을 다음과 같은 Composer 프로젝트로 설치했다고 가정합니다 drupal/core-recommended 또는 drupal/dxpr-marketing-cms-project

사용 가능한 Drupal 업데이트 나열하기

composer outdated "drupal/*"

다음으로 시작하는 줄이 없으면 drupal/core이며, Composer가 인식하는 업데이트가 없습니다. 업데이트가 있다면 아래 명령을 계속 진행하세요

Drupal 인스턴스 백업 만들기

운영 웹사이트를 업데이트할 때는 개발 환경이나 테스트 환경에서 업데이트를 성공적으로 시험했더라도 항상 업데이트 전에 백업을 만드세요. 호스팅 업체의 도구로 Drupal 사이트의 백업이나 스냅샷을 만드세요.

Drupal 코어 코드 업데이트

다음을 사용하는 경우 drupal/core-recommended:

composer update "drupal/core-*" --with-all-dependencies

실제로 변경하지 않고 업데이트를 시뮬레이션하여 진행 결과를 미리 보려면 다음을 추가하세요: --dry-run.

코어의 최신 패치 버전으로 업데이트

사이트를 최신 마이너 버전이 아닌 최신 패치 버전으로 업데이트하려면 다음을 추가하세요: --with= 옵션(다음 의존성마다): drupal/core-* 의존성. 기준 파일: composer.json.

예를 들어 10.2가 현재 마이너 버전이고 사이트를 10.3의 최신 패치 버전으로 업데이트하려는 경우:

composer update "drupal/core-*" --with-all-dependencies --with=drupal/core-recommended:~10.3.0 --with=drupal/core-composer-scaffold:~10.3.0

이 예에서는 drupal/core-recommended와 drupal/core-composer-scaffold 가 유일한 Drupal 코어 의존성이라고 가정합니다. 기준 파일: composer.json.

코어의 특정 버전으로 업데이트

일반적으로 업데이트할 때 Drupal 코어의 특정 버전을 지정하지 않는 것을 권장합니다. 특정 버전에 고정하려는 경우가 아니라면 지정하지 마세요. 사이트를 특정 버전에 고정하려면 다음 예시를 사용하세요:

사이트를 버전 10.3.6에 고정하고 모든 의존성을 그에 맞게 업데이트하려면:

composer require drupal/core-recommended:10.3.6 drupal/core-composer-scaffold:10.3.6 drupal/core-project-message:10.3.6 --update-with-all-dependencies

경고: 사이트를 특정 코어 버전에 고정하면 해당 버전이 lock 파일에 기록되며, 이후 업데이트는 이 버전을 넘어가지 않습니다. 아래에 명시된 require 명령을 다시 실행하면 고정되지 않은 코어 버전으로 돌아갑니다.

코어의 특정 버전 고정 해제

고정된 버전의 Drupal 코어를 실행 중이고 사이트를 다른 버전으로 업데이트하려면 두 가지 방법이 있습니다.

  1. 위의 composer require 명령으로 새로 고정할 코어 버전을 지정할 수 있습니다.
  2. 코어 버전 고정을 해제한 뒤 최신 버전의 Drupal로 업데이트할 수 있습니다.

Drupal 버전 고정을 해제하려면 다음 명령을 실행하세요:

composer require drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message --update-with-all-dependencies

데이터베이스 업데이트 실행

업데이트를 마치는 데 필요한 Drush 명령을 함께 싣습니다. 웹 기반 관리 화면보다 Drush가 빠르고 쉽다고 느끼는 사람이 많습니다.

drush를 사용할 수도 있습니다:

drush updatedb
drush cache:rebuild

또는 브라우저에서 다음에 방문할 수도 있습니다: [YOUR DOMAIN]/update.php.