Composer로 Drupal 10 확장하기.

Learn DrupalAan de slag
요즘은 컨트리뷰트 Drupal 모듈이 서드파티 라이브러리에 의존하는 경우가 매우 흔합니다. 이런 모듈 중 일부는 Composer로만 설치할 수 있습니다. 이미 Composer로 Drupal 코어를 가져왔거나 모듈이 Composer를 요구한다면, 모든 모듈과 테마를 다운로드할 때 Composer를 사용해야 합니다. Composer 업데이트와 다른 방식을 섞어 쓰면 해결하기 까다로운 업데이트 문제가 생길 수 있습니다.
 

Composer로 컨트리뷰트 모듈과 테마 가져오기

Composer로 컨트리뷰트 Drupal 모듈이나 테마를 다운로드하고 싶으신가요? 방법은 다음과 같습니다:

  • 다음을 입력하세요: composer require drupal/module_name
  • 예를 들어: composer require drupal/token
  • Drupal 설치 루트에 있는지 확인하세요

그러면 Composer가 composer.json을 알아서 업데이트하여 다른 요구 사항 목록에 모듈을 추가합니다. 다음과 같습니다:

{
    "require": {
        "drupal/token": "^1.5"
    }
} 

Composer가 모듈과 관련 의존성을 다운로드합니다.

이제 Drupal 모듈을 활성화하는 방법은 두 가지가 있습니다:

  • 툴바에서 ‘확장’을 클릭하여 표준 Drupal 웹 브라우저 화면을 사용하세요.
  • Drush나 Drupal Console 같은 명령줄 도구를 사용해 보세요. 다음을 참고하세요: 명령줄에서 모듈 설치하기.

모듈을 require할 때는 프로젝트 이름이나 프로젝트 안의 특정 모듈 이름 중 어느 것을 사용해도 됩니다:

  • Composer가 특정 모듈을 포함한 프로젝트 전체를 다운로드합니다.
  • 예를 들어 features_extra 프로젝트의 fe_block 모듈이 필요하다면 다음 중 어느 것을 선택해도 됩니다:
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

버전 선택하기

다운로드할 모듈이나 테마의 버전을 지정하려면 다음과 같이 하세요:

composer require 'drupal/module_name:version'

(다음에서 version 부분을 실제 Composer 버전이나 버전 제약으로 바꾸세요.)

예를 들어:

composer require 'drupal/dxpr_builder:^1.1' 
composer require 'drupal/dxpr_builder:~1.1' 
composer require 'drupal/dxpr_builder:2.2.2-alpha2' 
composer require 'drupal/dxpr_builder:2.2.x-dev' 

터미널이나 셸에 따라 문제가 생기지 않도록 위 예시처럼 버전을 따옴표로 감싸세요.


주의! Windows에서는 (작은)따옴표를 사용하면 버전 지정이 꼬여서 'Could not parse version constraint .....': Invalid version string "....'"' 오류와 함께 설치에 실패할 수 있습니다.

따옴표 없이 사용하면, 예를 들어:

composer require drupal/dxpr_builder:^2.2

또는 작은따옴표 대신 큰따옴표를 사용하면, 다음과 같이:

composer require "drupal/dxpr_builder:^2.2"

그러면 문제없이 동작합니다. 자세한 내용은 다음을 참고하세요: Comment 'Composer problems: "could not parse version constraint"'.


위 예시에서 버전의 의미는 다음과 같습니다:

  • ^1.1: 모듈의 최신 안정 10.x-1.x 릴리스에 해당합니다.
  • ~1.1: 모듈의 최신 안정 10.x-3.x 릴리스에 해당합니다.
  • 2.2.2-alpha2: 버전 2.2.2-alpha2에 해당합니다.
  • 2.2.x-dev: 2.2.x-dev에 해당합니다.

물결(~)과 캐럿(^)을 이용한 버전 제약에 대한 자세한 내용은 다음을 참고하세요: Next Significant Release Operators.

다운로드할 컨트리뷰트 모듈의 버전을 지정하는 것이 좋습니다.


Composer search 사용하기

좋은 소식입니다! Drupal.org의 Composer 엔드포인트는 다음 기능을 지원합니다: Composer search 기능입니다. 즉 명령줄에서 바로 Drupal 프로젝트를 검색할 수 있습니다. Composer search를 사용하려면 다음을 입력하세요:

composer search views
 

Composer browse 사용하기

Drupal 7부터 10까지 지원하는 Drupal.org의 Composer 엔드포인트는 다음 기능도 지원합니다: Composer browse 기능입니다. 이를 통해 명령줄에서 바로 Drupal 프로젝트의 추가 정보를 찾을 수 있습니다. Composer browse를 사용하려면 다음을 입력하세요:

composer browse drupal/token