ฉันได้พบการอ้างอิงในโมดูลกำหนดเองด้วย Drupal-นักแต่งเพลง , ฉันจะ ได้แก่ ห้องสมุดของบุคคลที่สามในโมดูลของฉันเองโดยไม่ต้องใช้ผู้จัดการนักแต่งเพลงและวิธีการจัดการ contrib โมดูลพึ่งพานักแต่งเพลงใน Drupal 8ซึ่งได้รับการ releated คำถามของฉัน แต่ไม่มี ไม่ดูเหมือนจะใช้ตั้งแต่ Drupal 8.1 และการเลิกใช้งานของผู้จัดการนักแต่งเพลง
คู่มือที่เป็นที่นิยมเช่นการแนะนำที่ชัดเจนสำหรับ D8 และนักแต่งเพลงดูเหมือนจะไม่ได้ใช้อีกต่อไปเนื่องจากพวกเขายังพูดถึงผู้จัดการนักแต่งเพลง
อีกวิธีหนึ่งที่ตรงข้ามกับผู้จัดการผู้แต่งเปลี่ยนไฟล์ core composer.json ให้ความรู้สึกเหมือนแฮ็คหลักมากเกินไปและอาจทำลายการอัพเดท Drupal core ทุกครั้งของ Drush
โดยเฉพาะอย่างยิ่งฉันพยายามอัปเดตViews vCardsจาก Drupal 7 เป็น 8 ฉันได้สร้างไฟล์ 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 รับรู้ถึงการพึ่งพาโมดูลได้อย่างไรโดยไม่ต้องใช้ผู้จัดการผู้แต่งและ / หรือแฮ็คคอร์
UPDATE:
ผสานนักแต่งเพลงปลั๊กอินที่ใช้โดยหลักดูเหมือนจะได้รับการสนับสนุนจากเส้นทางสัญลักษณ์แทน:
{
"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
ไฟล์จึงเป็นวิธีที่แนะนำและ drush สำหรับการดาวน์โหลดและการติดตั้งโมดูลกำลังได้รับการแทนที่? ผู้แต่งจะเห็นได้ชัดว่าจะแก้ไขการอ้างอิงที่ซ้อนกันโดยอัตโนมัติและจะดาวน์โหลดการอ้างอิงของฉันด้วย