web-dev-qa-db-ja.com

composer外部ライブラリdrupalモジュールが依存する

モジュール bootstrap_languages 外部ライブラリに依存 同じ名前 どのように_composerにlibraries/bootstrap_languagesフォルダーに移動する必要がある外部ライブラリを要求するように依頼するか

プロジェクトのcomposer.jsonにはすでにinstaller-pathsが含まれていますが、それらをどのように利用できますか?

    "installer-paths": {
        "core": [
            "type:drupal-core"
        ],
        ....
        "libraries/{$name}": [
            "type:drupal-library"
        ]

注:モジュール自体はこの依存関係を処理していません

3
GiorgosK

リポジトリ情報を追加することにより、composerを介してこのパッケージを含めることができるはずです。

Composer.jsonのrepositoriesセクションにパッケージ定義を追加します。結果のrepositoriesセクションは次のようになります。

"repositories": [
    {
        "type": "composer",
        "url": "https://packages.drupal.org/8"
    },
    {
        "type": "package",
        "package": {
            "name": "usrz/bootstrap-languages",
            "type": "drupal-library",
            "version": "dev-master",
            "dist": {
                "url": "https://github.com/usrz/bootstrap-languages/archive/master.Zip",
                "type": "Zip"
            }
        }
    }
]

次に、composer requireのように使用できます:

composer require usrz/bootstrap-languages

これにより、composer.jsonのrequireセクションに次のような新しい行が追加されます

"usrz/bootstrap-languages": "dev-master"

通常は、masterブランチではなく、パッケージのリリースタグでこのアプローチを使用しようとしますが、このリポジトリにはタグが存在しません。

5
sonfd

Asset Packagist を使用してこれを行うことができます。 repositoryinstaller-typesinstaller-pathsからcomposer.json

"repositories": [
    {
        "type": "composer",
        "url": "https://asset-packagist.org"
    }
],
"extra": {
    "installer-types": ["bower-asset", "npm-asset"],
    "installer-paths": {
        "docroot/libraries/{$name}": ["type:drupal-library", "type:bower-asset", "type:npm-asset"]
    },

次に、パッケージを追加できます

composer require bower-asset/bootstrap-language
4

インストーラーパスを機能させるには、oomphincによってComposer Installers Extenderを追加することを忘れないでください。

composer require oomphinc/composer-installers-extender
0
devasghar