我需要在 php 5.6 的环境中使用 jenssegers/blade 包,所以我需要使用 illuminate 5.1(正是这个版本)。在vendors/jenssegers/blade/composer.json中,它需要
"require": {
"illuminate/view": "^5.1"
},
执行作曲家更新时,它会下载需要 php 7+ 的最新版本的 illuminate (5.6.17)。
Laravel 5.1 适用于 php>= 5.5.9,对于 illuminate 5.1 应该相同。
我想强制下载illuminate 5.1,所以我删除了vendors/lluminate目录并编辑了vendors/jenssegers/blade/composer.json,在版本之前删除了"^":
"require": {
"illuminate/view": "5.1"
}
但是作曲家更新继续下载:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 6 installs, 0 updates, 0 removals
- Installing illuminate/contracts (v5.6.17): Loading from cache
- Installing illuminate/support (v5.6.17): Loading from cache
- Installing illuminate/filesystem (v5.6.17): Loading from cache
- Installing illuminate/container (v5.6.17): Loading from cache
- Installing illuminate/events (v5.6.17): Loading from cache
- Installing illuminate/view (v5.6.17): Loading from cache
如果您需要安装 PHP 5.6,则应将其添加到您的composer.json
"config": {
"platform": {
"php": "5.6"
}
},
https://getcomposer.org/doc/06-config.md#platform
如果你需要锁定到指定版本的软件包,你也可以在你的composer.json
中添加约束,但配置 PHP 版本通常是一个更好的主意。
"require": {
"illuminate/view": "5.1.*"
},