Carbon 正确安装命令是 composer require nesbot/carbon;v3 要求 PHP 8.1+,v2 兼容 PHP 7.4–8.0;v3 使用完整命名空间 Carbon\Carbon,需 use 声明或全限定名;中文本地化需单独引入 symfony/translation 并显式传 locale 参数。
Carbon 不是独立安装的库,它必须通过 Composer 引入,且需注意 PHP 版本和 Laravel 环境的隐含依赖。
composer require carbonphp/carbon 会失败
这是最常踩的坑:Carbon 官方包名不是 carbonphp/carbon,也不是 nesbot/carbon(旧版已归档),而是 nesbot/carbon 仍可安装,但自 v3 起官方推荐使用 carbonphp/carbon —— 实际上这个命名并不存在,carbonphp/carbon 是错误包名,会导致 Package carbonphp/carbon not found 错误。
正确命令是:
composer require nesbot/carbon
目前(2024 年)最新稳定版为 v3.x,支持 PHP 8.1+;若项目用 PHP 7.4–8.0,应显式指定 v2:
立即学习“PHP免费学习笔记(深入)”;
-
composer require nesbot/carbon:^2.72(v2 最后一个维护版本) - v2 默认不启用严格类型,v3 启用 strict typing,部分方法返回值类型更明确(如
diffInDays()总返回int) - Laravel 10+ 自带 Carbon v2.72+,Laravel 11 默认集成 Carbon v3,重复
require可能引发版本冲突
require 后无法 new Carbon() 或提示 Class not found
常见于未启用自动加载或命名空间误用。Carbon v3 默认使用完整命名空间 Carbon\Carbon,不再支持全局 Carbon 类名(v2 兼容层已移除)。