Drupal-composer ile özel bir modülde Bağımlılıklar buldum , Composer Manager kullanmadan özel modülüme nasıl üçüncü taraf kitaplığı ekleyebilirim ve soruma bağlı olan drupal 8'e katkıda bulunan modülleri besteleyici bağımlılıkları nasıl yönetilir, ancak hayır Drupal 8.1 ve Composer yöneticisinin kullanımdan kaldırılmasından bu yana daha uzun süre geçerli gibi görünüyor .
Ayrıca , D8 ve Composer'ın kesin tanıtımı, besteci yöneticisinden de bahsettiği için artık geçerli değildir.
Besteci yöneticisine karşı olan diğer çözüm, çekirdek composer.json dosyasını değiştirmek çok fazla çekirdek korsanlığı gibi geliyor ve muhtemelen Drupal çekirdeğinin (?) Her Drush güncellemesiyle kırılacaktı.
Daha spesifik olarak, Views vCards'ı Drupal 7'den 8'e güncellemeye çalışıyorum. Composer.json dosyamı aşağıdaki gibi oluşturdum:
{
"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.*"
}
}
Ancak modül klasörüme bir composer.json dosyası koyarsam, Drupal'ın bu dosyanın orada olduğunu nasıl fark edeceğini ve gerekli zipstream-php
kitaplığın indirildiğinden nasıl emin olabilirim ?
composer update
Drupal kökünden çalıştırmak Drupal bağımlılıklarının çoğunu güncelleştirir, ancak modül klasörlerinde bulunan composer.json dosyalarını içermez. Ayrıca composer install
bağımlılıkları olan tüm modüllerin içinden çağırmam gerektiğini de sanmıyorum .
Besteci yöneticisi ve / veya bilgisayar korsanı kullanmadan Drupal'ın bir modülün bağımlılığından nasıl haberdar olabilirim?
GÜNCELLEME:
Besteci birleştirme göbeği kullanılan eklentisi Joker yol destek sahip gibi görünmektedir:
{
"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
}
}
}
Neden çekirdek birleşmiyor modules/*/composer.json
, bu her şeyi doğru çözüyor?
Güncelleme 2:
Bunu desteklememenin gerekçesi, bu konuya da (bu da bir süredir sessiz kalmıştır) dahildir.
composer.json
dosya üzerinden yönetilmesi yeni tavsiye edilen yoldur ve modüllerin indirilmesi ve yüklenmesi için gereken acele değiştiriliyor mu? Açıkçası besteci iç içe bağımlılıkları otomatik olarak çözecek ve gerçekten de bağımlılıklarımı indirecektir.