Wie kann ich Composer zwingen, einen Entwicklungszweig über eine stabile Version zu installieren?

13

Ich experimentiere mit Bootstrap 3 in Drupal 8 und möchte im Entwicklungszweig von Bootstrap bleiben.

In meinem habe composer.jsonich die folgende Zeile geschrieben, die auf Drupal Packagist basiert :

"drupal/bootstrap": "8.3.*@dev",

Wenn ich jedoch starte composer update, wird es heruntergeladen 8.3.0-beta2(2015-Dec-19) anstelle der neuesten Entwicklerversion (2016-Feb-20).

Gathering patches for root package.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Gathering patches for root package.
Gathering patches for dependencies. This might take a minute.
  - Installing drupal/bootstrap (8.3.0-beta2)
    Downloading: 100%
    Downloading: 100%

Um sicherzustellen, dass es sich nicht um ein Caching-Problem handelt, habe ich Folgendes ausgeführt:

composer selfupdate
composer clear-cache
composer update

Aber es hat das Gleiche getan - Beta2 installieren.

Wie zwinge ich es, stattdessen die Entwicklerversion herunterzuladen?

Patrick Kenny
quelle

Antworten:

20

Währenddessen wird die neueste Entwicklerversion des Drupal-Moduls / Themas installiert, um einfach Folgendes zu tun:

composer require drupal/bootstrap:3.x-dev

Ich würde argumentieren, dass eine bewährte Methode bei der Installation einer Entwicklungsversion eines Moduls darin besteht, sicherzustellen, dass Sie das gewünschte Commit erhalten (das möglicherweise nicht das neueste ist). Daher würde ich Folgendes tun:

composer require drupal/bootstrap:3.x-dev#5670922dea05fffb6506a6cd5d53546b9fae8df9

Oder Sie können es manuell zu Ihrer Anforderung in composer.json (wie unten) hinzufügen und dann in der Befehlszeile ausführen composer install

"drupal/bootstrap": "3.x-dev#5670922dea05fffb6506a6cd5d53546b9fae8df9",

Um das Commit zu erhalten, gehen Sie zu http://cgit.drupalcode.org/bootstrap/log/ und suchen Sie das gewünschte Commit (der Commit-Hash ist die ID auf der Seite des Commits). Übrigens: Der obige Hash ist kein echtes Commit für das Bootstrap-Projekt

Duncanmoo
quelle
15

Sie können die ursprünglichen Einstellungen beibehalten. Das @devin 8.3.*@devist das Stabilitätsflag für das angegebene Paket. Der einfachste Weg, eine Entwicklungsversion eines Pakets zu erzwingen, besteht darin, eine andere Versionsbeschränkung zu verwenden. Verwenden Sie 8.3.x-devstattdessen diese Versionsbeschränkung verweist auf einen 8.x-3.xZweig und arbeitet unabhängig von prefer-stableund minimum-stability.

Webflo
quelle
8
Ein Komponist, der einen Befehl benötigt, der dazu gehört, würde ungefähr so ​​aussehencomposer require "drupal/page_manager:1.x-dev"
Daniels