LaravelShoppingcart在Laravel5.6无法使用,如何不更新Composer安装该包?
解决Laravel 5.6安装LaravelShoppingcart时Composer自动升级Laravel版本的问题
我之前也碰到过一模一样的情况——Composer总想把Laravel升级到5.6,但购物车包还没适配这个版本。别着急,你可以通过下面两种方法搞定,不用被迫升级Laravel:
方法一:指定购物车包的兼容版本
这个包在Laravel 5.6刚发布时,支持5.5的版本是^2.8.x系列(你也可以查看包的版本说明确认具体范围)。你可以直接告诉Composer安装这个兼容版本,同时只更新这个包而不碰Laravel核心:
- 运行下面的命令,先指定包版本并标记不自动更新:
composer require "bumbummen99/shoppingcart:^2.8" --no-update
- 然后只更新这个购物车包及其依赖:
composer update bumbummen99/shoppingcart --with-dependencies
或者你也可以直接编辑项目根目录的composer.json,在require区块里添加这一行:
"bumbummen99/shoppingcart": "^2.8"
保存后运行composer update bumbummen99/shoppingcart,同样能达到效果。
方法二:锁定Laravel版本到5.5
如果你想彻底阻止Composer升级Laravel,直接把版本锁定在5.5系列就行:
- 打开
composer.json,找到laravel/framework这一行,把原来的^5.5改成5.5.*:
"laravel/framework": "5.5.*"
- 保存后运行
composer update,这时候Laravel会被牢牢锁在5.5版本,之后再运行composer require bumbummen99/shoppingcart就不会触发版本升级了。
额外提示
如果你已经不小心把Laravel升级到5.6了,先回滚版本:
composer require laravel/framework:5.5.*
等Laravel回到5.5后,再按照上面的方法安装购物车包就行。记得操作前备份好项目文件和数据库,避免意外~
内容的提问来源于stack exchange,提问作者Emre Berber
相关产品推荐
相关产品推荐

