如何使用 Laravel 5.6 升级 Carbon?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/51332201/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How can I upgrade Carbon with Laravel 5.6?
提问by Sára Kata Király
I tried in cmd "composer require nesbot/carbon" but I got this:
我在 cmd 中试过“composer 需要 nesbot/carbon”,但我得到了这个:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/framework v5.6.27 requires nesbot/carbon 1.25.* -> satisfiable by nesbot/carbon[1.25.0] but these conflict with your requirements or minimum-stability.
- laravel/framework v5.6.27 requires nesbot/carbon 1.25.* -> satisfiable by nesbot/carbon[1.25.0] but these conflict with your requirements or minimum-stability.
- laravel/framework v5.6.27 requires nesbot/carbon 1.25.* -> satisfiable by nesbot/carbon[1.25.0] but these conflict with your requirements or minimum-stability.
- Installation request for laravel/framework (locked at v5.6.27, required as 5.6.*) -> satisfiable by laravel/framework[v5.6.27].
Installation failed, reverting ./composer.json to its original content.
回答by Devon
I don't recommend doing this without extreme caution because there may be a reason why Laravel, or any of your other dependencies, require a very strict version of a package.
我不建议在没有非常谨慎的情况下执行此操作,因为 Laravel 或任何其他依赖项需要非常严格的包版本可能是有原因的。
With that said, Composer does include a neat trick to alias versions to get around this by specifying an alias version in composer.json
:
话虽如此,Composer 确实包含了一个巧妙的别名版本技巧,可以通过在 中指定别名版本来解决这个问题composer.json
:
"require": {
...
"nesbot/carbon": "1.32.0 as 1.25.0"
},
Note the as 1.25.0
which will trick other packages into thinking 1.32.0
is equivalent to 1.25.0
for dependencies. This trick requires exact versions.
请注意as 1.25.0
which 会欺骗其他包的想法1.32.0
等同于1.25.0
for 依赖项。这个技巧需要精确的版本。
回答by Manoj Patel
Carbon 2 is officially supported by Laravel since the version 5.8, if you want to use it on a lower version, you can follow those steps:
从 5.8 版本开始,Laravel 正式支持 Carbon 2,如果您想在较低版本上使用它,您可以按照以下步骤操作:
Set explicitly the Carbon version and add the adapter in your composer.json:
明确设置 Carbon 版本并在 composer.json 中添加适配器:
{
"require": {
"nesbot/carbon": "2.21.3 as 1.34.0"
}
}