-1

composer require laravel/telescope --dev在Laravel 6.0-dev 上运行安装 Telescope 后,

当我要使用 发布它时php artisan telescope:install,我收到以下错误:

Publishing Telescope Service Provider...
Publishing Telescope Assets...
Publishing Telescope Configuration...
Telescope scaffolding installed successfully.

   InvalidArgumentException  : Length must be a positive integer.

  at C:\xampp\htdocs\homeefy\vendor\ramsey\uuid\src\Generator\CombGenerator.php:
63
    59|      */
    60|     public function generate($length)
    61|     {
    62|         if ($length < self::TIMESTAMP_BYTES || $length < 0) {
  > 63|             throw new \InvalidArgumentException('Length must be a positi
ve integer.');
    64|         }
    65|
    66|         $hash = '';
    67|

  Exception trace:

  1   Ramsey\Uuid\Generator\CombGenerator::generate()
      C:\xampp\htdocs\homeefy\vendor\ramsey\uuid\src\Generator\CombGenerator.php
:69

我正在使用 Laravel 6.0-dev 和带有 XAMPP 的 Windows 10。PHP版本是7.3.8

我需要什么来解决它?我在 Google 中找不到解决方案。

4

1 回答 1

0

我有同样的错误。但是,我通过编辑框架解决了这个问题

src\Illuminate\Support\Str.php。

打开文件,找到方法

有序Uuid()

并为 $factory 变量使用 UuidFactory 而不是 Uuid。

您需要在文件头中使用 Ramsey\Uuid\UuidFactory。

 public static function orderedUuid()
{
    if (static::$uuidFactory) {
        return call_user_func(static::$uuidFactory);
    }

    //$factory = Uuid::getFactory();

    $factory = new UuidFactory();

    $factory->setRandomGenerator(new CombGenerator(
        $factory->getRandomGenerator(),
        $factory->getNumberConverter()
    ));

    $factory->setCodec(new TimestampFirstCombCodec(
        $factory->getUuidBuilder()
    ));

    return $factory->uuid4();
}
于 2019-08-31T09:24:01.500 回答