Composerを使用したBootstrapテーマのインストール


7

私はComposerを初めて使用します。

テーマをインストールするにはどうすればいいですか、https://www.drupal.org/project/bootstrapでcomposerを使用してください

私はもう試した:

composer require drupal/bootstrap

しかし、うまくいきませんでした。

私も試しました:

composer require twbs/bootstrap

インストールは正常に完了しましたが、Drupal管理ページにテーマが表示されませんでした。

で使用するテーマまたはモジュールの名前を抽出する標準的な方法は何composer requireですか?

回答:


7

これは、すべてのDrupalパッケージがdrupal/-にtwbsあるためです。それを作曲家に追加して、Cliveが言ったように機能させる必要があります。

そのままではcomposer.jsonファイルにはありません

あなたはそれを追加する必要があり、それからそれを行います:

composer remove twbs/bootstrap これはDrupal対応のテーマではないためです。

リポジトリをcomposer.jsonに追加した後、次のことができます。

composer require drupal/bootstrap

また、すべてのモジュールまたはテーマにcomposer.jsonファイルがまだあるわけではありません。Drupal用のBootstrapはこれを行い、わからない場合はパッケージ名を判別できます。

http://cgit.drupalcode.org/bootstrap/tree/composer.json

私はモジュール/テーマ composerで動作するためにこのファイルを提供する必要があると信じています(Clives回答でのリポジトリの追加を含む)。

たとえば、私のプロジェクトの1つはcomposer.jsonです。リポジトリとDrupalパッケージのURL が追加されていることに注意してください。

{
    "name": "drupal/drupal",
    "description": "Drupal is an open source content management platform powering millions of websites and applications.",
    "type": "project",
    "license": "GPL-2.0+",
    "require": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/search_api_solr": "1.0.0-beta1",
        "drupal/search_api": "^1.0@beta"
    },
    "replace": {
        "drupal/core": "~8.2"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    },
    "repositories": {
        "drupal": {
            "type": "composer",
            "url":  "https://packages.drupal.org/8"
        }
    },
    "extra": {
        "_readme": [
            "By default Drupal loads the autoloader from ./vendor/autoload.php.",
            "To change the autoloader you can edit ./autoload.php."
        ],
        "merge-plugin": {
            "include": [
                "core/composer.json"
            ],
            "recurse": false,
            "replace": false,
            "merge-extra": false
        },
        "installer-paths": {
            "modules/contrib/{$name}": ["type:drupal-module"],
            "themes/contrib/{$name}": ["type:drupal-theme"]
        }
    },
    "autoload": {
        "psr-4": {
            "Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
        }
    },
    "scripts": {
        "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
        "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
        "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
        "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
    }
}

composer.jsonにパッケージリポジトリがないことは、小さく、見落とされがちで、見落とされがちです。うまくいけば、それは将来のリリースで追加されるでしょう。


詳細な回答に感謝します。composerがテーマを正常にインストールした後、/ themes /にテーマのフォルダーを作成したことに気付きました。私の理解では、作曲家はすべてをベンダーフォルダーに管理する必要があります。私の質問は、composerがテーマフォルダーに追加するときに、gitを使用してこれをどのように管理する必要があるかです。テーマフォルダーを.gitignoreに追加する必要がありますか?
ビショイ2017年

Drupalパッケージは異なります。それらはそれぞれモジュールとテーマにインストールされます。Drupal以外のプロジェクトはベンダーディレクトリに配置されます。
Kevin

了解しましたが、それでも、これをgitにコミットする必要がありますか?その後、ステージングとプロダクションでcomposerを再度使用する必要がありますか?
ビショイ2017年

1
バージョン管理については、完全にあなた次第です。一部の人々は、Drupal ComposerとAcquia BLTを使用してコードベースを管理しています。OOTBには、Drupalコアとcontribモジュールおよびテーマのgitignoreルールが付属しています。ただし、これらのプロジェクトをビルドしてデプロイする方法を学ぶ必要があります。参照:github.com/drupal-composer/drupal-project
Kevin

1
つまり、ビルド/デプロイメントプロセスを使用していない場合は、それをコミットして、リモート環境にプッシュできるようにする必要があります(コンポーザーを実行してDrupalスタックをビルドできるJenkinsまたは他のプロセスがない場合)。
Kevin

4

Drupalリポジトリの場所をcomposer.jsonファイルに追加する必要があります。例:

"repositories": [
    {
        "type": "composer",
        "url": "https://packages.drupal.org/8"
    }
]

もう少し詳しく説明してもらえますか?私の現在の状況では、twbs / bootstrapがインストールされています。アンインストールする必要がありますか?参照できるリポジトリエントリは実行可能composer require drupal/bootstrapですか?これですべてです。外観の管理ページのリストビューにテーマを表示する必要がありますか?
ビショイ2017年

1
@Bishoy私の拡張説明をご覧ください。
Kevin

1
@Bishoyはい、はい、はい!
クライブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.