Laravel 5.1与PHP7.1安装问题:无法安装Carbon2且Carbon1提示弃用
解决Laravel 5.1 + PHP 7.1环境下Carbon版本冲突问题
1. 调整composer版本约束
打开项目根目录的composer.json,找到require区块里的nesbot/carbon条目,将原有版本约束(通常是~1.0)修改为^1.39 || ^2.0,让Composer允许安装Carbon 1的最新兼容版或Carbon 2。
2. 安装Carbon 1最终稳定版(快速消除弃用提示)
如果不想改动项目代码,直接安装Carbon 1的最后维护版,它修复了弃用警告,同时完美兼容PHP 7.1和Laravel 5.1:
composer require nesbot/carbon:1.39.1
3. 清理依赖缓存并更新
在Vagrant虚拟机内的项目目录执行以下命令,确保依赖更新彻底:
composer update nesbot/carbon --with-all-dependencies composer dump-autoload
4. (可选)Carbon 2兼容适配(不推荐)
如果一定要用Carbon 2,需要手动调整项目中调用Carbon的代码:
- Carbon 2将部分静态方法迁移至
Carbon\CarbonImmutable,同时修改了部分方法签名 - Laravel 5.1核心代码依赖Carbon 1的API,强行升级会引发兼容性问题,仅适合有代码重构能力的场景
内容的提问来源于stack exchange,提问作者iftekharul islam
相关产品推荐
相关产品推荐

