Hikaru Shindo
Hikaru Shindo

Reputation: 2923

Cannot upgrade Carbon 1 to Carbon 2

I've been working on a Laravel project. When I run composer command, I always got warned,

Carbon 1 is deprecated, see how to migrate to Carbon 2. https://carbon.nesbot.com/docs/#api-carbon-2 You can run './vendor/bin/upgrade-carbon' to get help in updating carbon and other frameworks and libraries that depend on it.

Then I run the ./vendor/bin/upgrade-carbon but I got error,

Uncaught Error: Class 'Composer\Composer' not found in .../vendor/nesbot/carbon/src/Carbon/Upgrade.php:131

I have also try to search for solutions but it cant be found. I really need help to continue my project. Thanks a lot.

Upvotes: 8

Views: 52852

Answers (2)

KyleK
KyleK

Reputation: 5131

It seems composer is not up to date. Try first to run composer self-update then retry ./vendor/bin/upgrade-carbon

In any case, it's a deprecation notice, it doesn't mean you can't continue your project. It just tells you this particular package will no longer receive any update and as for as Carbon is concerned, you will lack many features you would found in the current documentation.

You say your on a Laravel project, so you didn't install carbon yourself probably. Then the first thing to consider is to upgrade to Laravel 5.8 (which use Carbon 2 by default) and is the only version Laravel still supports.

Upvotes: 3

Deepak
Deepak

Reputation: 634

add the following dependencies to your composer.json**:

{
  ...
  "require": {
    ...
    "kylekatarnls/laravel-carbon-2": "^1.0.0",
    "nesbot/carbon": "2.0.0-beta.2 as 1.25.0"
  }
  ...
}

then run:

composer update

Upvotes: 9

Related Questions