如何强制Composer在稳定版本上安装dev分支?


14

我正在Drupal 8中尝试使用Bootstrap 3,并且希望继续使用bootstrap的dev分支。

在我的文章中composer.json,我根据Drupal Packagist撰写了以下内容

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

但是,当我运行时composer update,它将下载8.3.0-beta2(2015-Dec-19),而不是最新的开发版本(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%

为了确保这不是缓存问题,我运行了:

composer selfupdate
composer clear-cache
composer update

但是它做同样的事情-安装beta2。

如何强制它下载开发版本?

Answers:


22

虽然它将安装Drupal模块/主题的最新开发版本,但只需执行以下操作:

composer require drupal/bootstrap:3.x-dev

我认为在安装模块的开发版本时的最佳实践是确保您将要获得所需的提交(可能不是最新的提交),因此我将执行以下操作:

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

或者,您可以在composer.json(如下所示)中将其手动添加到您的需求中,然后在命令行上运行 composer install

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

要获取提交,您应该转到http://cgit.drupalcode.org/bootstrap/log/并找到所需的提交(提交哈希是提交页面上的ID)。顺便说一句:上面的哈希值不是对Bootstrap项目的真正提交


15

您可以保留首选的稳定设置。的@dev8.3.*@dev对给定包的稳定性的标志。强制进行开发版软件包的最简单方法是使用不同的版本约束。使用8.3.x-dev此版本约束代替引用8.x-3.x分支,并且独立于prefer-stableminimum-stability


8
与此伴随的作曲家require命令看起来像这样composer require "drupal/page_manager:1.x-dev"
丹尼尔斯(Daniels)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.