私が見つけたdrupalの-作曲とカスタムモジュールで依存関係、私は作曲マネージャを使用せずに、私のカスタムモジュールで、サードパーティのライブラリを含むことができ、どのようにしてDrupalの8上のcontribモジュール作曲の依存関係を管理するためにどのように私の質問にreleatedされている、ありませんDrupal 8.1以降とComposerマネージャーの廃止により、より長く適用されるようです。
また、D8やComposerの決定的な紹介などの人気のあるガイドは、Composer Managerについても言及しているため、もはや適用されていないようです。
composerマネージャーに反対する他のソリューションは、コアのcomposer.jsonファイルを変更して、コアのハッキングが多すぎるように感じ、Drupalコア(?)のすべてのDrush更新で壊れる可能性があります。
具体的には、Views vCardを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
、依存関係のあるすべてのモジュール内から呼び出す必要があるとは思いません。
Composerマネージャーやハッキングコアを使用せずに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モジュールを管理することが新しい推奨される方法であり、モジュールをダウンロードしてインストールするためのDrushは置き換えられていますか?もちろん、composerはネストされた依存関係を自動的に解決し、実際に依存関係もダウンロードします。