无法在 laravel 8 上安装 laravel/jetstream

Failed to install laravel/jetstream on laravel 8

通过 composer 安装 jetstream 后 composer require laravel/jetstream 然后突然得到一个ErrorException,没有这样的文件或目录。

Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

   ErrorException

  require(F:\laravelApps\test_proj\vendor\laravel\jetstream\src/../routes/.php): failed to open stream: No such file or directory

  at F:\laravelApps\test_proj\vendor\laravel\framework\src\Illuminate\Support\ServiceProvider.php:144
    140▕      */
    141▕     protected function loadRoutesFrom($path)
    142▕     {
    143▕         if (! ($this->app instanceof CachesRoutes && $this->app->routesAreCached())) {
  ➜ 144▕             require $path;
    145▕         }
    146▕     }
    147▕
    148▕     /**

  1   F:\laravelApps\test_proj\vendor\laravel\framework\src\Illuminate\Support\ServiceProvider.php:144
      require()

  2   F:\laravelApps\test_proj\vendor\laravel\jetstream\src\JetstreamServiceProvider.php:172
      Illuminate\Support\ServiceProvider::loadRoutesFrom("F:\laravelApps\test_proj\vendor\laravel\jetstream\src/../routes/.php")
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Installation failed, reverting ./composer.json to its original content.

我使用此指南进行安装。 https://jetstream.laravel.com/1.x/installation.html

我尝试删除供应商,但 运行 composer update 不起作用 尝试清除缓存但仍然无效。

更新:

你只需要运行php artisan route:cache

https://github.com/laravel/jetstream/issues/186

取消缓存您的路线并重试。


  1. 从 composer 中删除 jetstream

    composer remove laravel/jetstream
    
  2. 那么你应该可以使用

    来缓存你的路由
     php artisan route:cache
    
  3. 然后安装jetstream

     composer require laravel/jetstream
    

如果您的缓存设置引用了您没有的东西,您不能 运行 route:cache,所以它不会 运行,但会出现此错误, 它只是一个缓存所以你可以删除它,所以我做了:

rm bootstrap/cache/config.php
php artisan route:cache

这让我能够从这个错误中恢复,而不必以可能触及 composer.lock.

的方式在生产环境中重新安装软件包

每当你在任何安装中遇到这种情况时,首先检查错误详细信息,如果你发现任何与你的安装相关的错误那么它很好,或者你只需​​要清除缓存以便它肯定会修复。

在您的情况下,首先按照以下答案清除缓存

php artisan config:cache
php artisan cache:clear