我正在尝试使用Composer安装包的特定版本。我尝试了composer install和composer require,但他们正在安装最新版本的软件包。如果我想要一个旧版本呢?
当前回答
使用PHP编写器即可。phar要求
例如:
php composer.phar require doctrine/mongodb-odm-bundle 3.0
安装时也可以使用。
https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install
其他回答
假设你想安装Laravel Collective。它目前的版本是6。X版本,但你想要5.8版本。执行如下命令:
composer require "laravelcollective/html":"^5.8.0"
文档中给出了一个很好的例子: https://laravelcollective.com/docs/5.5/html
添加双引号以在版本号中使用“^”插入符。
composer require middlewares/whoops "^0.4"
正如@alucic提到的,使用:
composer require vendor/package:version
或者你可以用:
composer update vendor/package:version
你可能应该回顾一下这篇关于编写器安装和编写器更新之间差异的StackOverflow帖子。
关于版本号的问题,你可以查看Composer关于版本的文档,但简而言之:
波浪号版本范围(~)- ~1.2.3相当于>=1.2.3 <1.3.0 插入符号版本范围(^)- ^1.2.3等价于>=1.2.3 <2.0.0
因此,与波浪你会得到补丁的自动更新,但次要和主要版本将不会更新。然而,如果你使用插入,你会得到补丁和小版本,但你不会得到主要(破坏性的变化)版本。
波浪号版本被认为是一种“更安全”的方法,但如果您使用的是可靠的依赖关系(维护良好的库),则插入号版本应该不会有任何问题(因为微小的更改不应该是破坏性的更改)。
编写器需要供应商/包:版本
例如:
编译器需要refinery29/test-util:0.10.2
使用PHP编写器即可。phar要求
例如:
php composer.phar require doctrine/mongodb-odm-bundle 3.0
安装时也可以使用。
https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install
推荐文章
- 原则-如何打印出真正的sql,而不仅仅是准备好的语句?
- 如何从关联PHP数组中获得第一项?
- PHP/MySQL插入一行然后获取id
- 我如何排序一个多维数组在PHP
- 如何在PHP中截断字符串最接近于一定数量的字符?
- PHP错误:“zip扩展名和unzip命令都没有,跳过。”
- Nginx提供下载。php文件,而不是执行它们
- Json_encode()转义正斜杠
- 如何在PHP中捕获cURL错误
- 如何要求一个分叉与作曲家?
- 如何在php中创建可选参数?
- 在文本文件中创建或写入/追加
- 为什么PHP的json_encode函数转换UTF-8字符串为十六进制实体?
- 如何从一个查询插入多行使用雄辩/流利
- 在PHP单元测试执行期间,如何在CLI中输出?