【问题标题】:Class 'Sentry\ClientBuilder' not found when trying to install Sentry尝试安装 Sentry 时找不到类“Sentry\ClientBuilder”
【发布时间】:2020-07-26 07:23:13
【问题描述】:

我目前正在尝试将 Sentry 添加到我的 Laravel 项目中,但是当我这样做时遇到了这个问题 composer require sentry/sentry-laravel.

我遇到的错误是:

@php artisan package:discover --ansi

   Error

  Class 'Sentry\ClientBuilder' not found

  at vendor/sentry/sentry-laravel/src/Sentry/Laravel/ServiceProvider.php:122
    118|                 ],
    119|                 $userConfig
    120|             );
    121|
  > 122|             $clientBuilder = ClientBuilder::create($options);
    123|
    124|             // Set the Laravel SDK identifier and version
    125|             $clientBuilder->setSdkIdentifier(Version::SDK_IDENTIFIER);
    126|             $clientBuilder->setSdkVersion(Version::SDK_VERSION);

  • Database name seems incorrect: You're using the default database name `homestead`. This database does not exist.

    Edit the `.env` file and use the correct database name in the `DB_DATABASE` key.
    https://laravel.com/docs/master/database#configuration

我的 .env 文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

Laravel 版本:7.5.2

我正在通过 Homestead 运行所有内容,并且我的数据库确实存在并且项目正在运行,但我无法弄清楚为什么会出现此错误。

提前感谢您的帮助!

【问题讨论】:

  • 试试 composer require sentry/sentry-laravel:1.7.0 (docs.sentry.io/platforms/php/laravel)
  • 不幸的是,我得到了同样的错误。
  • 这很奇怪。你有文件夹供应商/哨兵吗?如果是,删除它,运行 composer self-update 然后 composer require
  • 很遗憾,还是没有成功

标签: php laravel sentry


【解决方案1】:

使用这个composer require sentry/sentry-laravel:1.7.0

由于您使用的是 Laravel 7,因此该软件包将在您的

中自动发现

config/app.php.

【讨论】:

  • 我已经尝试过了,但不幸的是,我得到了同样的错误。
  • 看起来您之前可能在 PHP 7.3 或更高版本上运行过 composer install/update
  • 您创建了 composer.lock 的 PHP 版本。例如,您可能使用 PHP 5.6 版创建它,现在升级到 v7....只是猜测
  • 我用 v7 创建了 composer.lock。我已经删除了锁并重新安装了作曲家以获得新的锁,但同样的问题
【解决方案2】:

@NinetyHH 这真的很奇怪,我认为数据库“提示”不相关,它试图变得聪明并且未能给出令人困惑的消息:)

您能否手动将"sentry/sentry-laravel": "^1.7" 添加到您的composer.json 并运行composer update 以查看是否可以解决问题,在我看来,依赖项似乎没有正确安装。

如果这不能解决问题,你能:

  • 分享您的 PHP 版本
  • 分享你的 composer.json(这样我就可以试试看能否在本地复制它)
  • 分享 composer require sentry/sentry-laravel 的完整输出(这样我们就可以看到 composer 在做什么)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-12
    • 2020-10-01
    • 2019-06-18
    • 2021-03-09
    • 2012-10-31
    • 2013-05-25
    • 2019-01-28
    • 2017-12-31
    相关资源
    最近更新 更多