Класс Carbon\Carbon не найден

Недавно я добавил пакет на свой сайт Laravel 4, и теперь все, что использует Eloquent (или, по крайней мере, Eloquent с какой-либо ссылкой на дату/время), показывает ошибку 500, в которой говорится:

Class 'Carbon\Carbon' Not Found.

я пытался бежать

composer install
composer update
composer dump-autoload

person NightMICU    schedule 26.01.2014    source источник


Ответы (9)


Не говорю, что это работает для вас, но это шаги, которые обычно исправляют Laravel, когда проблема, конечно, не в вашем исходном коде:

cd /your/application/dir

rm bootstrap/compiled.php

rm -rf vendor

composer install --no-dev
person Antonio Carlos Ribeiro    schedule 26.01.2014
comment
Спасибо за быстрый ответ. Я понял, что ему нужен nesbot/carbon, я попытался установить с помощью композитора, но это не удалось из-за проблем с зависимостями. Я загрузил его из папки моего проекта, и теперь все снова работает... тьфу - person NightMICU; 26.01.2014

Да, это может работать как ответ @oli-folkerd. Однако, как видно из Laracasts (Laravel 5 Fundamentals series Video 10 "forms" min 16: 55) почти в самом верху php-файла ControllerClass просто добавьте следующее (или импортируйте класс, если ваш php-редактор позволяет это сделать):

use Carbon\Carbon;

Теперь вы можете просто использовать Carbon

$input['published_at'] = Carbon::now();

без добавления Carbon\

person Pathros    schedule 04.03.2015
comment
он вставляет дату и время, но время не является местным временем. как я могу вставить местную дату-время ?? - person Md. Abu Zaman; 24.09.2018

нужно добавить строку:

'Carbon' => 'Carbon\Carbon',

в конец массива 'aliases' в app/config/app.php это сделает библиотеку углерода доступной везде в laravel.

person Oli Folkerd    schedule 03.05.2014

Вы этот класс в контроллере Laravel.

use Carbon\Carbon;

затем вы просто определяете команду углерода для печати текущей даты

$date = Carbon::now(); 
person Jatin Arora    schedule 14.09.2018

Для всех обновленных версий вам просто нужно

use Carbon\Carbon;

и для глобального использования вы можете добавить это в app.php

'Carbon' => 'Carbon\Carbon',

person DsRaj    schedule 06.07.2018
comment
Ни один из ответов не сработал для меня, но этот сработал! - person Shamseer Ahammed; 18.04.2019

Моя проблема решена, просто потребовав nesbot/carbon, просто сделайте это:

composer require nesbot/carbon
person Uchiha Itachi    schedule 01.07.2015
comment
Это решение сработало, мне просто интересно, почему composer update не решил его изначально - person bmatovu; 09.03.2018

У меня была эта проблема однажды, когда я обновил проект из gitlab. Следующая команда работала для меня.

composer dump-autoload
person smartrahat    schedule 20.11.2018

Для Laravel 8.x добавьте

'Carbon' => Illuminate\Support\Carbon::class,

в вашем приложении/config/app.php

под псевдонимами

или если вы хотите использовать его только в своем контроллере

тогда, пожалуйста, добавьте

use Illuminate\Support\Carbon;
person Harshal Lonare    schedule 07.05.2021
comment
Меня просто беспокоит, почему его еще нет в app.php, это один из самых распространенных классов. - person Shulz; 27.06.2021

Иногда указание prefer-dist с префиксом «--» (он же «голый двойной тире») в конце или суффиксом в конце create-project также имеет значение при установке...

Приведенная ниже команда отлично работала в laravel 5.5 без ошибки.

composer create-project laravel/laravel blog  "5.5.*" --prefer-dist

Но когда я собирался начать установку Laravel 5.6 с помощью этой команды ниже

composer create-project laravel/laravel blog --prefer-dist

я привык получать

Whoops\Exception\ErrorException: класс "углерод\углерод" не найден

После обращения к официальной Документации по установке

composer create-project --prefer-dist laravel/laravel blog

После выполнения приведенной выше команды исключений не возникало, поэтому установка прошла успешно, в результате чего был сгенерирован хэш-ключ base64.

person Nɪsʜᴀɴᴛʜ ॐ    schedule 27.08.2018