내가 발견 한 드루팔 - 작곡가와 사용자 정의 모듈 종속성 , 내가 작곡가 관리자를 사용하지 않고 내 사용자 정의 모듈에서 타사 라이브러리를 포함 할 수 있습니다 방법 및 드루팔 (8)에있는 contrib 모듈 작곡가 종속성 관리하는 방법에 내 질문에 releated 있습니다,하지만 Drupal 8.1 및 Composer 관리자 의 지원 중단 이후 더 이상 적용되는 것 같습니다 .
또한 D8 및 Composer에 대한 명확한 소개 와 같은 인기있는 가이드 는 작곡가 관리자를 언급하기 때문에 더 이상 적용되지 않는 것으로 보입니다.
작곡가 관리자와 반대되는 다른 솔루션은 핵심 작곡가를 변경합니다.
보다 구체적으로, Drupal 7에서 8로 Views vCard 를 업데이트하려고 합니다. 다음과 같이 composer.json 파일을 만들었습니다.
{
"name": "drupal/views_vcards",
"description": "Allows creation of vCards using the fields provided by the Views module.",
"type": "drupal-module",
"license": "GPL-2.0+",
"homepage": "https://drupal.org/project/views_vcards",
"require": {
"maennchen/zipstream-php": "0.3.*"
}
}
그러나 composer.json 파일을 모듈 폴더에 넣으면 Drupal이 해당 파일이 있음을 어떻게 알 수 있으며 필요한 zipstream-php
라이브러리가 다운로드 되었는지 어떻게 확인할 수 있습니까?
composer update
Drupal 루트에서 실행하면 Drupal 종속성이 많이 업데이트되지만 모듈 폴더에있는 composer.json 파일은 포함되지 않습니다. 또한 composer install
종속성이있는 모든 모듈 내부에서 전화해야한다고 가정하지 않습니다 .
작성기 관리자 및 / 또는 해킹 코어를 사용하지 않고 Drupal이 모듈의 종속성을 인식하도록하려면 어떻게해야합니까?
최신 정보:
작곡가 병합은 코어에서 사용하는 플러그인이 와일드 카드 경로를 지원하는 것 같습니다 :
{
"require": {
"wikimedia/composer-merge-plugin": "dev-master"
},
"extra": {
"merge-plugin": {
"include": [
"composer.local.json",
"extensions/*/composer.json" // < ---- THIS LINE
],
"require": [
"submodule/composer.json"
],
"recurse": true,
"replace": false,
"merge-dev": true,
"merge-extra": false
}
}
}
핵심 병합이 아닌 이유는 무엇 modules/*/composer.json
입니까?
업데이트 2 :
composer.json
파일을 통해 모든 contrib 모듈을 관리하는 것이 새로운 권장 방법이며 모듈을 다운로드하고 설치하는 데 어려움을 겪고 있습니까? 분명히 작곡가는 중첩 된 종속성을 자동으로 해결하고 실제로 종속성을 다운로드합니다.