Das liegt daran, dass sich jedes Drupal-Paket in befindet drupal/
- twbs
nicht im Drupal-Paketagist. Sie müssen das dem Komponisten hinzufügen, damit es funktioniert, wie Clive sagte.
Es befindet sich nicht sofort in der Datei composer.json.
Sie müssen das hinzufügen und dann Folgendes tun:
composer remove twbs/bootstrap
weil dies KEIN Drupal-fähiges Thema ist.
Das Repository composer.json Nach dem Hinzufügen, dann können Sie tun:
composer require drupal/bootstrap
Außerdem verfügt noch nicht jedes Modul oder Thema über eine composer.json-Datei. Bootstrap für Drupal funktioniert, und hier können Sie den Paketnamen bestimmen, wenn Sie sich nicht sicher sind.
http://cgit.drupalcode.org/bootstrap/tree/composer.json
Ich glaube , modules / Themen haben diese Datei , um Arbeit mit dem Komponisten zu schaffen ( einschließlich Repository zusätzlich in Clives Antwort).
Hier ist zum Beispiel eines meiner Projekte composer.json. Beachten Sie das Hinzufügen der URL für Repositorys und Drupal-Pakete.
{
"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"
}
}
Das Fehlen des Paket-Repositorys in composer.json ist eine kleine, leicht zu übersehende und oft übersehene Sache. Hoffentlich wird es in einer zukünftigen Version hinzugefügt.