私が考えたすべてComposerはcontribモジュールが自動的に必要とするすべての外部ライブラリを処理します。1つをインストールしようとしましたComposerはすべての依存モジュールを処理しましたが、外部ライブラリを使ってたくさん。
Composerを使用して、モジュールが依存する外部ライブラリをインストールするにはどうすればよいですか?
composer.json
を使用してJavaScriptライブラリをインストールすることはお勧めしませんが、可能です。
注:このリポジトリタイプにはいくつかの制限があり、可能な限り回避する必要があります。
Composerは、versionfieldを変更しない限り、パッケージを更新しません。Composerはコミット参照を更新しないため、参照としてマスターを使用する場合は、パッケージを削除して強制的に更新する必要があり、不安定なロックファイルを処理する必要があります。
( Composer docs )
パッケージが外部ソースからダウンロードできる場合。アーカイブとして、タイプdrupal-library
のカスタムパッケージとしてDrupalプロジェクトのcomposer.json
のrepositories
セクションに追加し、これを必要とすることができます。それに応じてパッケージ:
"repositories": {
"drupal": {
"type": "composer",
"url": "https://packages.drupal.org/8"
},
"mypackage": {
"type": "package",
"package": {
"name": "myvendor/mypackage",
"version": "1.0.0",
"type": "drupal-library",
"dist": {
"url": "https://example.com/mypackage.Zip",
"type": "Zip"
}
}
}
},
"require": {
...
"composer/installers": "^1.2",
"myvendor/mypackage": "1.0.0"
},
"extra": {
"installer-paths": {
"public/core": ["type:drupal-core"],
"public/libraries/{$name}": ["type:drupal-library"],
"public/modules/contrib/{$name}": ["type:drupal-module"],
"public/profiles/contrib/{$name}": ["type:drupal-profile"],
"public/themes/contrib/{$name}": ["type:drupal-theme"],
"drush/contrib/{$name}": ["type:drupal-drush"]
},
...
}
リポジトリのドキュメント でComposerの詳細やその他のソースタイプを確認します。
間違いなく https://asset-packagist.org/
マイナーな煩わしさは一貫性のない命名であり、モジュールによっては、どちらかを使用する必要がありますcomposer require npm-asset/js-lib
またはcomposer require bower-asset/js-lib
アセットパッケージャーに記載されているように設定をcomposer.jsonに追加し( カスタムパスへのインストール を参照)、drupal固有のインストーラーパスを設定します。何かのようなもの
"extra": {
"installer-types": ["bower-asset", "npm-asset"],
"installer-paths": {
....
"web/libraries/{$name}": ["type:drupal-library", "type:bower-asset", "type:npm-asset"],
...
}
}