我正在尝试使用Composer安装软件包的特定版本。我尝试了composer install
和composer require
,但他们正在安装最新版本的软件包。如果我想要一个较旧版本怎么办?
composer require vendor/package:version
例如:
composer require refinery29/test-util:0.10.2
添加双引号以在版本号中使用"^" caret operator
。
composer require middlewares/whoops "^0.4"
如@alucic所述,使用:
composer require vendor/package:version
或您可以使用:
composer update vendor/package:version
您可能应该查看有关Composer Install和Composer Update之间差异的堆叠帖子。
与有关版本号的问题有关,您可以在版本上查看作曲家文档,但简而言之:
- tilde版本范围(〜) - 〜1.2.3等于> = 1.2.3< 1.3.0
- Caret版本范围( ^) - ^1.2.3等于> = 1.2.3< 2.0.0.0
因此,使用 tilde 您将获得补丁的自动更新,但次要版本和主要版本将不会更新。但是,如果您使用 caret 您将获得补丁程序和次要版本,但是您将不会获得重大的(打破更改)版本。
tilde版本被认为是一种"更安全的"方法,但是如果您使用可靠的依赖项(维护良好的库),则不应在CARET版本上遇到任何问题(因为较小的更改不应该破坏更改。
<</p>只需使用php composer.phar要求
例如:
php composer.phar require doctrine/mongodb-odm-bundle 3.0
也可以使用安装。
https://getcomposer.org/doc/03-cli.md#requirehttps://getcomposer.org/doc/03-cli.md#install
假设您要安装Laravel Collective。目前是6.x版本,但您需要5.8版。您可以运行以下命令:
composer require "laravelcollective/html":"^5.8.0"
文档中显示了一个很好的例子:https://laravelcollactive.com/docs/5.5/html
在您的composer.json
中,您可以放置:
{
"require": {
"vendor/package": "version"
}
}
然后从包含composer.json
的目录运行composer install
或composer update
。有时,对我来说,作曲家是Hinky的,所以我将从composer install
开始之前从CC_11开始,以确保它得到新鲜的东西。
当然,正如其他答案指出的那样,您可以从终端运行以下内容:
composer require vendor/package:version
和版本化:
- 作曲家的官方版本
- Ecosia搜索
我试图从另一个存储库中,而不是最新版本,我遇到了同样的问题,上述问题对我有用:(
>过了一会儿,我在文档中看到了,在Dev Branch的情况下,您需要使用版本的" dev-'"前缀,以下效果很好。
composer require [vendorName]/[packageName]:dev-[gitBranchName]