【问题标题】:Class Carbon\Carbon not found未找到碳类\碳
【发布时间】:2014-02-17 10:52:54
【问题描述】:

我最近在我的 Laravel 4 网站上添加了一个包,现在任何使用 Eloquent(或至少 Eloquent 并带有任何日期/时间参考)的东西都显示 500 错误,指出:

Class 'Carbon\Carbon' Not Found.

我试过跑步

composer install
composer update
composer dump-autoload

【问题讨论】:

    标签: php laravel-4 composer-php php-carbon


    【解决方案1】:

    并不是说这对你有用,但是当问题不在你的源代码上时,这些是通常修复 Laravel 的步骤,当然:

    cd /your/application/dir
    
    rm bootstrap/compiled.php
    
    rm -rf vendor
    
    composer install --no-dev
    

    【讨论】:

    • 感谢您的快速回复。我意识到它需要的是 nesbot/carbon,我尝试使用 composer 安装,但由于依赖问题而失败。我从我的项目文件夹中上传了它,现在一切都恢复了......呃
    【解决方案2】:

    你需要添加一行:

    'Carbon' => 'Carbon\Carbon',
    

    到 app/config/app.php 中 'aliases' 数组的底部,这将使碳库在 laravel 中的任何地方都可用。

    【讨论】:

      【解决方案3】:

      是的,它可以作为@oli-folkerd 的答案。然而,正如在 Laracasts (Laravel 5 Fundamentals series Video 10 "forms" min 16:55) 中看到的那样,几乎在您的 ControllerClass php 文件的顶部,只需添加以下内容(或者如果您的 php 编辑器允许您这样做,则导入该类):

      use Carbon\Carbon;
      

      现在您可以简单地使用Carbon

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

      无需添加Carbon\

      【讨论】:

      • 它正在插入日期时间,但时间不是当地时间。如何插入本地日期时间??
      【解决方案4】:

      我的问题只需要 nesbot/carbon 就解决了:

      composer require nesbot/carbon
      

      【讨论】:

      • 这个解决方案有效,我只是想知道为什么composer update 最初没有解决它
      【解决方案5】:

      对于所有更新版本,您只需要

      use Carbon\Carbon;
      

      为了全局使用,你可以在 app.php 中添加这个

      'Carbon' => 'Carbon\Carbon',

      【讨论】:

      • 没有一个答案对我有用,但这个有用!
      【解决方案6】:

      有时在末尾指定 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
      

      我曾经得到过

      哎呀\Exception\ErrorException:找不到类“Carbon\Carbon”

      参考官方Installation Documentation

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

      执行上述命令后没有出现异常,因此安装成功,从而生成base64哈希键

      【讨论】:

        【解决方案7】:

        你这个类在 Laravel 的控制器中。

        use Carbon\Carbon;
        

        然后你只需定义 carbon 命令来打印当前日期

        $date = Carbon::now(); 
        

        【讨论】:

          【解决方案8】:

          我从gitlab 更新项目时遇到过这个问题。下面的命令对我有用。

          composer dump-autoload
          

          【讨论】:

            【解决方案9】:

            对于 Laravel 8.x 请添加

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

            在你的 app/config/app.php 中

            别名

            或者如果你只想在你的控制器中使用它

            那么请补充

            use Illuminate\Support\Carbon;
            

            【讨论】:

            • 它只是困扰我为什么它还没有出现在 app.php 这是最常见的类之一
            猜你喜欢
            • 2019-03-04
            • 2019-12-15
            • 1970-01-01
            • 2019-03-02
            • 1970-01-01
            • 2017-08-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多