Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.1] Problem during upgrade in multi-site Statamic\UpdateScripts\UseDedicatedTrees #3377

Closed
afonic opened this issue Mar 15, 2021 · 22 comments

Comments

@afonic
Copy link

afonic commented Mar 15, 2021

Bug Description

Trying to upgrade a site to 3.1 I got this error and my structures did not move correctly into content/trees. Other sites, again with multi-site and API enabled upgraded correctly.

How to Reproduce

Not really sure.

Extra Detail

Running update script [Statamic\UpdateScripts\UseDedicatedTrees]

   InvalidArgumentException

  Api cache config for [Statamic\API\Cachers\DefaultCacher] is not properly defined.

  at vendor/statamic/cms/src/API/ApiCacheManager.php:58
     54▕
     55▕         $config = $this->getConfig($driver);
     56▕
     57▕         if (is_null($config)) {
  ➜  58▕             throw new InvalidArgumentException($this->invalidImplementationMessage($driver));
     59▕         }
     60▕
     61▕         return $this->createClassDriver($driver, $config);
     62▕     }

      +41 vendor frames
  42  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

Environment

Statamic version: 3.1 Beta 1

PHP version: 7.4.11

Install method (choose one):

  • Upgrade from 3.0.46 using composer update statamic/cms --with-all-dependencies
@jasonvarga
Copy link
Member

Can you provide config/statamic/api.php?

@afonic
Copy link
Author

afonic commented Mar 15, 2021

Sure:

return [

    /*
    |--------------------------------------------------------------------------
    | API
    |--------------------------------------------------------------------------
    |
    | Whether the API should be enabled, and through what route.
    |
    */

    'enabled' => env('STATAMIC_API_ENABLED', false),

    'route' => env('STATAMIC_API_ROUTE', 'api'),

    /*
    |--------------------------------------------------------------------------
    | Middleware & Authentication
    |--------------------------------------------------------------------------
    |
    | Define the middleware / middleware group that will be applied to the
    | API route group. If you want to externally expose this API, here
    | you can configure a middleware based authentication layer.
    |
    */

    'middleware' => env('STATAMIC_API_MIDDLEWARE', 'api'),

    /*
    |--------------------------------------------------------------------------
    | Pagination
    |--------------------------------------------------------------------------
    |
    | The numbers of items to show on each paginated page.
    |
    */

    'pagination_size' => 50,

];

There are no settings for the API in .env

@jasonvarga
Copy link
Member

Thank you.

@jasonvarga
Copy link
Member

Can you provide the whole stack trace? You should see it in storage/logs/laravel.log

@afonic
Copy link
Author

afonic commented Mar 15, 2021

Here you go:

[2021-03-15 19:58:44] local.ERROR: Api cache config for [Statamic\API\Cachers\DefaultCacher] is not properly defined. {"exception":"[object] (InvalidArgumentException(code: 0): Api cache config for [Statamic\\API\\Cachers\\DefaultCacher] is not properly defined. at /Users/devbox1/Sites/christa/vendor/statamic/cms/src/API/ApiCacheManager.php:58)
[stacktrace]
#0 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Support/Manager.php(28): Statamic\\API\\ApiCacheManager->resolve('Statamic\\\\API\\\\Ca...')
#1 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Support/Manager.php(23): Statamic\\Support\\Manager->get('Statamic\\\\API\\\\Ca...')
#2 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/API/ServiceProvider.php(25): Statamic\\Support\\Manager->driver()
#3 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(826): Statamic\\API\\ServiceProvider->Statamic\\API\\{closure}(Object(Illuminate\\Foundation\\Application), Array)
#4 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(712): Illuminate\\Container\\Container->build(Object(Closure))
#5 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(841): Illuminate\\Container\\Container->resolve('Statamic\\\\API\\\\Ca...', Array, true)
#6 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(651): Illuminate\\Foundation\\Application->resolve('Statamic\\\\API\\\\Ca...', Array)
#7 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(826): Illuminate\\Container\\Container->make('Statamic\\\\API\\\\Ca...', Array)
#8 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(119): Illuminate\\Foundation\\Application->make('Statamic\\\\API\\\\Ca...', Array)
#9 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/API/Subscriber.php(34): app('Statamic\\\\API\\\\Ca...')
#10 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(412): Statamic\\API\\Subscriber->invalidate(Object(Statamic\\Events\\CollectionTreeSaved))
#11 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(237): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}('Statamic\\\\Events...', Array)
#12 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(432): Illuminate\\Events\\Dispatcher->dispatch('Statamic\\\\Events...')
#13 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Events/Dispatchable.php(14): event(Object(Statamic\\Events\\CollectionTreeSaved))
#14 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Structures/CollectionTree.php(38): Statamic\\Events\\Event::dispatch(Object(Statamic\\Structures\\CollectionTree))
#15 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Structures/Tree.php(134): Statamic\\Structures\\CollectionTree->dispatchSavedEvent()
#16 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/UseDedicatedTrees.php(38): Statamic\\Structures\\Tree->save()
#17 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(234): Statamic\\UpdateScripts\\UseDedicatedTrees->Statamic\\UpdateScripts\\{closure}(Object(Statamic\\Entries\\Collection), 0)
#18 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/UseDedicatedTrees.php(42): Illuminate\\Support\\Collection->each(Object(Closure))
#19 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/UseDedicatedTrees.php(21): Statamic\\UpdateScripts\\UseDedicatedTrees->updateCollections()
#20 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/Manager.php(95): Statamic\\UpdateScripts\\UseDedicatedTrees->update()
#21 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(234): Statamic\\UpdateScripts\\Manager->Statamic\\UpdateScripts\\{closure}(Object(Statamic\\UpdateScripts\\UseDedicatedTrees), 1)
#22 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/Manager.php(96): Illuminate\\Support\\Collection->each(Object(Closure))
#23 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/Manager.php(52): Statamic\\UpdateScripts\\Manager->runUpdatableScripts(Object(Illuminate\\Support\\Collection), Object(Statamic\\Console\\Composer\\Lock), Object(Statamic\\Console\\Composer\\Lock))
#24 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Statamic\\UpdateScripts\\Manager->runUpdatesForSpecificPackageVersion('statamic/cms', '3.0.0', Object(Statamic\\Console\\Commands\\Install))
#25 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Console/Commands/Install.php(134): Illuminate\\Support\\Facades\\Facade::__callStatic('runUpdatesForSp...', Array)
#26 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Console/Commands/Install.php(118): Statamic\\Console\\Commands\\Install->addPreUpdateCmdAndRunFirstTime()
#27 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Console/Commands/Install.php(44): Statamic\\Console\\Commands\\Install->runUpdateScripts()
#28 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Statamic\\Console\\Commands\\Install->handle()
#29 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Util.php(40): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(610): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Console/Command.php(136): Illuminate\\Container\\Container->call(Array)
#34 /Users/devbox1/Sites/christa/vendor/symfony/console/Command/Command.php(256): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#35 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Console/Command.php(121): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#36 /Users/devbox1/Sites/christa/vendor/symfony/console/Application.php(971): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#37 /Users/devbox1/Sites/christa/vendor/symfony/console/Application.php(290): Symfony\\Component\\Console\\Application->doRunCommand(Object(Statamic\\Console\\Commands\\Install), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#38 /Users/devbox1/Sites/christa/vendor/symfony/console/Application.php(166): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#39 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Console/Application.php(92): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#40 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 /Users/afonic/Sites/christa/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#42 {main}
"} 

@afonic
Copy link
Author

afonic commented Mar 15, 2021

In case it's relevant, these are also from the upgrade command:

[2021-01-19 21:05:28] local.ERROR: Composer Process: �[32m./composer.json has been updated�[39m
  
[2021-01-19 21:05:28] local.ERROR: Composer Process: �[32mRunning composer update statamic/cms --with-dependencies�[39m
  
[2021-01-19 21:05:28] local.ERROR: Composer Process: �[32mLoading composer repositories with package information�[39m
  
[2021-01-19 21:05:29] local.ERROR: Composer Process: �[30;43mDependency "guzzlehttp/guzzle" is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.�[39;49m
�[30;43mDependency "laravel/framework" is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.�[39;49m
  
[2021-01-19 21:05:32] local.ERROR: Composer Process: �[32mUpdating dependencies�[39m
  
[2021-01-19 21:05:33] local.ERROR: Composer Process: �[32mLock file operations: 0 installs, 4 updates, 0 removals�[39m
  
[2021-01-19 21:05:33] local.ERROR: Composer Process:   - Upgrading �[32mleague/mime-type-detection�[39m (�[33m1.5.1�[39m => �[33m1.7.0�[39m)
  - Upgrading �[32mstatamic/cms�[39m (�[33mv3.0.38�[39m => �[33mv3.0.39�[39m)
  
[2021-01-19 21:05:33] local.ERROR: Composer Process:   - Upgrading �[32mueberdosis/html-to-prosemirror�[39m (�[33m1.4.0�[39m => �[33m1.5.0�[39m)
  - Upgrading �[32mueberdosis/prosemirror-to-html�[39m (�[33m2.3.0�[39m => �[33m2.4.0�[39m)
  
[2021-01-19 21:05:33] local.ERROR: Composer Process: �[32mWriting lock file�[39m
  
[2021-01-19 21:05:33] local.ERROR: Composer Process: �[32mInstalling dependencies from lock file (including require-dev)�[39m
  
[2021-01-19 21:05:33] local.ERROR: Composer Process: �[32mPackage operations: 0 installs, 4 updates, 0 removals�[39m
  
[2021-01-19 21:05:33] local.ERROR: Composer Process: �[30;43mAs there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension.�[39;49m
�[30;43mThis may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost.�[39;49m
�[30;43mInstalling 'unzip' may remediate them.�[39;49m
  
[2021-01-19 21:05:33] local.ERROR: Composer Process:     0 [>---------------------------]  
[2021-01-19 21:05:33] local.ERROR: Composer Process: �[1G�[2K    0 [->--------------------------]�[1G�[2K  
[2021-01-19 21:05:33] local.ERROR: Composer Process:   - Upgrading �[32mleague/mime-type-detection�[39m (�[33m1.5.1�[39m => �[33m1.7.0�[39m):   
[2021-01-19 21:05:33] local.ERROR: Composer Process: Extracting archive  
[2021-01-19 21:05:33] local.ERROR: Composer Process: 
  
[2021-01-19 21:05:33] local.ERROR: Composer Process:   - Upgrading �[32mueberdosis/prosemirror-to-html�[39m (�[33m2.3.0�[39m => �[33m2.4.0�[39m):   
[2021-01-19 21:05:33] local.ERROR: Composer Process: Extracting archive  
[2021-01-19 21:05:33] local.ERROR: Composer Process: 
  
[2021-01-19 21:05:33] local.ERROR: Composer Process:   - Upgrading �[32mueberdosis/html-to-prosemirror�[39m (�[33m1.4.0�[39m => �[33m1.5.0�[39m):   
[2021-01-19 21:05:33] local.ERROR: Composer Process: Extracting archive  
[2021-01-19 21:05:33] local.ERROR: Composer Process: 
  
[2021-01-19 21:05:33] local.ERROR: Composer Process:   - Upgrading �[32mstatamic/cms�[39m (�[33mv3.0.38�[39m => �[33mv3.0.39�[39m):   
[2021-01-19 21:05:33] local.ERROR: Composer Process: Extracting archive  
[2021-01-19 21:05:34] local.ERROR: include(/Users/devbox1/Sites/christa/vendor/statamic/cms/src/Facades/User.php): failed to open stream: No such file or directory {"exception":"[object] (ErrorException(code: 0): include(/Users/devbox1/Sites/christa/vendor/statamic/cms/src/Facades/User.php): failed to open stream: No such file or directory at /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php:444)
[stacktrace]
#0 /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php(444): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'include(/Users/...', '/Users/devbox1/S...', 444, Array)
#1 /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php(444): include()
#2 /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php(322): Composer\\Autoload\\includeFile('/Users/devbox1/S...')
#3 [internal function]: Composer\\Autoload\\ClassLoader->loadClass('Statamic\\\\Facade...')
#4 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/CP/Authorize.php(14): spl_autoload_call('Statamic\\\\Facade...')
#5 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\Authorize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#6 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/CP/ContactOutpost.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#7 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\ContactOutpost->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#8 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/CP/ControlPanel.php(16): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CP\\ControlPanel->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#18 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/SwapExceptionHandler.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\SwapExceptionHandler->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(694): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(669): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /Users/devbox1/Sites/christa/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /Users/devbox1/Sites/christa/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /Users/devbox1/Sites/christa/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /Users/devbox1/Sites/christa/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 /Users/devbox1/.composer/vendor/laravel/valet/server.php(191): require('/Users/devbox1/S...')
#55 {main}
"} 
[2021-01-19 21:05:34] local.ERROR: include(/Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Controllers/CP/ComposerOutputController.php): failed to open stream: No such file or directory {"exception":"[object] (ErrorException(code: 0): include(/Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Controllers/CP/ComposerOutputController.php): failed to open stream: No such file or directory at /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php:444)
[stacktrace]
#0 /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php(444): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'include(/Users/...', '/Users/devbox1/S...', 444, Array)
#1 /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php(444): include()
#2 /Users/devbox1/Sites/christa/vendor/composer/ClassLoader.php(322): Composer\\Autoload\\includeFile('/Users/devbox1/S...')
#3 [internal function]: Composer\\Autoload\\ClassLoader->loadClass('Statamic\\\\Http\\\\C...')
#4 [internal function]: spl_autoload_call('Statamic\\\\Http\\\\C...')
#5 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(830): ReflectionClass->__construct('Statamic\\\\Http\\\\C...')
#6 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(712): Illuminate\\Container\\Container->build('Statamic\\\\Http\\\\C...')
#7 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(796): Illuminate\\Container\\Container->resolve('Statamic\\\\Http\\\\C...', Array, true)
#8 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(651): Illuminate\\Foundation\\Application->resolve('Statamic\\\\Http\\\\C...', Array)
#9 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(781): Illuminate\\Container\\Container->make('Statamic\\\\Http\\\\C...', Array)
#10 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Route.php(268): Illuminate\\Foundation\\Application->make('Statamic\\\\Http\\\\C...')
#11 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Route.php(989): Illuminate\\Routing\\Route->getController()
#12 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Route.php(950): Illuminate\\Routing\\Route->controllerMiddleware()
#13 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(709): Illuminate\\Routing\\Route->gatherMiddleware()
#14 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(685): Illuminate\\Routing\\Router->gatherRouteMiddleware(Object(Illuminate\\Routing\\Route))
#15 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(669): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#16 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#17 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#18 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#19 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#20 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /Users/devbox1/Sites/christa/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /Users/devbox1/Sites/christa/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /Users/devbox1/Sites/christa/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#40 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#41 /Users/devbox1/Sites/christa/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#42 /Users/devbox1/.composer/vendor/laravel/valet/server.php(191): require('/Users/devbox1/S...')
#43 {main}
"} 
[2021-01-19 21:05:34] local.ERROR: Debugbar exception: include(/Users/devbox1/Sites/christa/vendor/statamic/cms/src/Http/Controllers/CP/ComposerOutputController.php): failed to open stream: No such file or directory  
[2021-01-19 21:05:35] local.ERROR: Composer Process: 
  
[2021-01-19 21:05:35] local.ERROR: Composer Process:     0 [>---------------------------]�[1G�[2K    0 [->--------------------------]�[1G�[2K  
[2021-01-19 21:05:35] local.ERROR: Composer Process:   - Installing �[32mstatamic/cms�[39m (�[33mdist�[39m): Extracting archive
  
[2021-01-19 21:05:36] local.ERROR: Composer Process: �[30;43mPackage fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.�[39;49m
�[32mGenerating optimized autoload files�[39m
  
[2021-01-19 21:05:41] local.ERROR: Composer Process: > Illuminate\Foundation\ComposerScripts::postAutoloadDump
  
[2021-01-19 21:05:41] local.ERROR: Composer Process: > @php artisan package:discover --ansi
  
[2021-01-19 21:05:41] local.ERROR: Composer Process: > @php artisan statamic:install --ansi
  
[2021-01-19 21:05:42] local.ERROR: Composer Process: �[32m91 packages you are using are looking for funding.�[39m
�[32mUse the `composer fund` command to find out more!�[39m

@jasonvarga
Copy link
Member

Interesting in the output you've just shown it says that you've upgraded from 3.0.38 to 3.0.39. Not 3.1.

- Upgrading �[32mstatamic/cms�[39m (�[33mv3.0.38�[39m => �[33mv3.0.39�[39m):

Can you provide your composer.json?

@afonic
Copy link
Author

afonic commented Mar 15, 2021

That's weird:

{
    "name": "statamic/statamic",
    "description": "Statamic",
    "keywords": ["statamic", "cms", "flat file", "laravel"],
    "type": "project",
    "require": {
        "fideloper/proxy": "^4.2",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "laravel/framework": "^8.0",
        "laravel/tinker": "^2.0",
        "statamic/cms": "3.1.*"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^3.5",
        "facade/ignition": "^2.3.6",
        "fzaninotto/faker": "^1.9.1",
        "mockery/mockery": "^1.3.1",
        "nunomaduro/collision": "^5.0",
        "phpunit/phpunit": "^9.3"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "pre-update-cmd": [
            "Statamic\\Console\\Composer\\Scripts::preUpdateCmd"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi",
            "@php artisan statamic:install --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}

I can undo all changes using Git and try again to see if it solves it.

@jasonvarga
Copy link
Member

Yeah give it another shot.

I can get it to fail with the same error if I revert one of the bundled config files to what it was in 3.0. But... if you've upgraded to 3.1, it wouldn't be like that. 🤔 Weird!

@afonic
Copy link
Author

afonic commented Mar 16, 2021

I reverted, removed the vendor folder, fresh install that worked, upgrade failed again with the same error.

It looks like it's upgrading:

- Upgrading statamic/cms (v3.0.47 => v3.1.0-beta.1): Extracting archive

Which file creates the problem so I can replace it and try again?

@jasonvarga
Copy link
Member

Is it that same Api cache config for [Statamic\API\Cachers\DefaultCacher] is not properly defined. error?

@afonic
Copy link
Author

afonic commented Mar 16, 2021

Yes exactly the same. Trace:

[2021-03-16 07:24:10] local.ERROR: Api cache config for [Statamic\API\Cachers\DefaultCacher] is not properly defined. {"exception":"[object] (InvalidArgumentException(code: 0): Api cache config for [Statamic\\API\\Cachers\\DefaultCacher] is not properly defined. at /Users/devbox1/Sites/christa/vendor/statamic/cms/src/API/ApiCacheManager.php:58)
[stacktrace]
#0 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Support/Manager.php(28): Statamic\\API\\ApiCacheManager->resolve('Statamic\\\\API\\\\Ca...')
#1 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Support/Manager.php(23): Statamic\\Support\\Manager->get('Statamic\\\\API\\\\Ca...')
#2 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/API/ServiceProvider.php(25): Statamic\\Support\\Manager->driver()
#3 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(826): Statamic\\API\\ServiceProvider->Statamic\\API\\{closure}(Object(Illuminate\\Foundation\\Application), Array)
#4 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(712): Illuminate\\Container\\Container->build(Object(Closure))
#5 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(841): Illuminate\\Container\\Container->resolve('Statamic\\\\API\\\\Ca...', Array, true)
#6 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(651): Illuminate\\Foundation\\Application->resolve('Statamic\\\\API\\\\Ca...', Array)
#7 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(826): Illuminate\\Container\\Container->make('Statamic\\\\API\\\\Ca...', Array)
#8 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(119): Illuminate\\Foundation\\Application->make('Statamic\\\\API\\\\Ca...', Array)
#9 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/API/Subscriber.php(34): app('Statamic\\\\API\\\\Ca...')
#10 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(412): Statamic\\API\\Subscriber->invalidate(Object(Statamic\\Events\\CollectionTreeSaved))
#11 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(237): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}('Statamic\\\\Events...', Array)
#12 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(432): Illuminate\\Events\\Dispatcher->dispatch('Statamic\\\\Events...')
#13 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Events/Dispatchable.php(14): event(Object(Statamic\\Events\\CollectionTreeSaved))
#14 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Structures/CollectionTree.php(38): Statamic\\Events\\Event::dispatch(Object(Statamic\\Structures\\CollectionTree))
#15 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Structures/Tree.php(134): Statamic\\Structures\\CollectionTree->dispatchSavedEvent()
#16 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/UseDedicatedTrees.php(38): Statamic\\Structures\\Tree->save()
#17 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(234): Statamic\\UpdateScripts\\UseDedicatedTrees->Statamic\\UpdateScripts\\{closure}(Object(Statamic\\Entries\\Collection), 0)
#18 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/UseDedicatedTrees.php(42): Illuminate\\Support\\Collection->each(Object(Closure))
#19 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/UseDedicatedTrees.php(21): Statamic\\UpdateScripts\\UseDedicatedTrees->updateCollections()
#20 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/Manager.php(95): Statamic\\UpdateScripts\\UseDedicatedTrees->update()
#21 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(234): Statamic\\UpdateScripts\\Manager->Statamic\\UpdateScripts\\{closure}(Object(Statamic\\UpdateScripts\\UseDedicatedTrees), 1)
#22 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/Manager.php(96): Illuminate\\Support\\Collection->each(Object(Closure))
#23 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/UpdateScripts/Manager.php(52): Statamic\\UpdateScripts\\Manager->runUpdatableScripts(Object(Illuminate\\Support\\Collection), Object(Statamic\\Console\\Composer\\Lock), Object(Statamic\\Console\\Composer\\Lock))
#24 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Statamic\\UpdateScripts\\Manager->runUpdatesForSpecificPackageVersion('statamic/cms', '3.0.0', Object(Statamic\\Console\\Commands\\Install))
#25 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Console/Commands/Install.php(134): Illuminate\\Support\\Facades\\Facade::__callStatic('runUpdatesForSp...', Array)
#26 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Console/Commands/Install.php(118): Statamic\\Console\\Commands\\Install->addPreUpdateCmdAndRunFirstTime()
#27 /Users/devbox1/Sites/christa/vendor/statamic/cms/src/Console/Commands/Install.php(44): Statamic\\Console\\Commands\\Install->runUpdateScripts()
#28 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Statamic\\Console\\Commands\\Install->handle()
#29 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Util.php(40): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Container/Container.php(610): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Console/Command.php(136): Illuminate\\Container\\Container->call(Array)
#34 /Users/devbox1/Sites/christa/vendor/symfony/console/Command/Command.php(256): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#35 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Console/Command.php(121): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#36 /Users/devbox1/Sites/christa/vendor/symfony/console/Application.php(971): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#37 /Users/devbox1/Sites/christa/vendor/symfony/console/Application.php(290): Symfony\\Component\\Console\\Application->doRunCommand(Object(Statamic\\Console\\Commands\\Install), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#38 /Users/devbox1/Sites/christa/vendor/symfony/console/Application.php(166): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#39 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Console/Application.php(92): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#40 /Users/devbox1/Sites/christa/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 /Users/devbox1/Sites/christa/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#42 {main}
"} 

@jasonvarga
Copy link
Member

A couple of things:

In your original issue:

Other sites, again with multi-site and API enabled upgraded correctly.

Do you mean you upgraded other sites to 3.1 successfully? Or you mean that you've upgraded other sites to any version in general?

Could you try upgrading again, and paste all the output of your composer command from your terminal?
It won't be in your log file. Your comment here threw me off. That was from when you must have upgraded through the Control Panel back in January.

@jasonvarga
Copy link
Member

Oh, also. Do you have anything in your global composer config related to Statamic? (~/.composer/config.json)

@afonic
Copy link
Author

afonic commented Mar 17, 2021

Do you mean you upgraded other sites to 3.1 successfully? Or you mean that you've upgraded other sites to any version in general?

We have currently 4 Statamic sites in development due sometime next month, so we decided to do an early upgrade to 3.1. 3 of them worked just fine, this one is giving this error.

Oh, also. Do you have anything in your global composer config related to Statamic? (~/.composer/config.json)

Nothing there, just one line for Laravel Valet.

Console log:

afonic@Iosifs-iMac christa % composer update statamic/cms --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Lock file operations: 2 installs, 2 updates, 0 removals
  - Upgrading laravel/framework (v8.32.1 => v8.33.1)
  - Locking rebing/graphql-laravel (6.3.0)
  - Upgrading statamic/cms (v3.0.47 => v3.1.0-beta.1)
  - Locking webonyx/graphql-php (v14.5.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 2 installs, 2 updates, 0 removals
  - Downloading laravel/framework (v8.33.1)
  - Upgrading laravel/framework (v8.32.1 => v8.33.1): Extracting archive
  - Installing webonyx/graphql-php (v14.5.1): Extracting archive
  - Installing rebing/graphql-laravel (6.3.0): Extracting archive
  - Upgrading statamic/cms (v3.0.47 => v3.1.0-beta.1): Extracting archive
  - Installing statamic/cms (dist): Extracting archive
Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: barryvdh/laravel-debugbar
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: intervention/image
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: rebing/graphql-laravel
Discovered Package: statamic/cms
Discovered Package: wilderborn/partyline
Package manifest generated successfully.
> @php artisan statamic:install --ansi
Addon manifest generated successfully.
Copied File [/vendor/statamic/cms/config/graphql.php] To [/config/statamic/graphql.php]
Copied Directory [/vendor/statamic/cms/resources/users] To [/resources/users]
Publishing complete.
Copied Directory [/vendor/statamic/cms/resources/dist] To [/public/vendor/statamic/cp]
Publishing complete.
Compiled views cleared!
Application cache cleared!
Running update script [Statamic\UpdateScripts\UseDedicatedTrees]

   InvalidArgumentException

  Api cache config for [Statamic\API\Cachers\DefaultCacher] is not properly defined.

  at vendor/statamic/cms/src/API/ApiCacheManager.php:58
     54▕
     55▕         $config = $this->getConfig($driver);
     56▕
     57▕         if (is_null($config)) {
  ➜  58▕             throw new InvalidArgumentException($this->invalidImplementationMessage($driver));
     59▕         }
     60▕
     61▕         return $this->createClassDriver($driver, $config);
     62▕     }

      +41 vendor frames
  42  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Script @php artisan statamic:install --ansi handling the post-autoload-dump event returned with error code 1

@jasonvarga
Copy link
Member

After the upgrade can you show the contents of vendor/statamic/cms/config/api.php?

@afonic
Copy link
Author

afonic commented Mar 18, 2021

Here you go:

return [

    /*
    |--------------------------------------------------------------------------
    | API
    |--------------------------------------------------------------------------
    |
    | Whether the API should be enabled, and through what route. You
    | can enable or disable the whole API, and expose individual
    | resources per environent, depending on your site needs.
    |
    | https://statamic.dev/content-api#enable-the-api
    |
    */

    'enabled' => env('STATAMIC_API_ENABLED', false),

    'resources' => [
        'collections' => false,
        'navs' => false,
        'taxonomies' => false,
        'assets' => false,
        'globals' => false,
        'forms' => false,
        'users' => false,
    ],

    'route' => env('STATAMIC_API_ROUTE', 'api'),

    /*
    |--------------------------------------------------------------------------
    | Middleware & Authentication
    |--------------------------------------------------------------------------
    |
    | Define the middleware / middleware group that will be applied to the
    | API route group. If you want to externally expose this API, here
    | you can configure a middleware based authentication layer.
    |
    */

    'middleware' => env('STATAMIC_API_MIDDLEWARE', 'api'),

    /*
    |--------------------------------------------------------------------------
    | Pagination
    |--------------------------------------------------------------------------
    |
    | The numbers of items to show on each paginated page.
    |
    */

    'pagination_size' => 50,

    /*
    |--------------------------------------------------------------------------
    | Caching
    |--------------------------------------------------------------------------
    |
    | By default, Statamic will cache each endpoint until the specified
    | expiry, or until content is changed. See the documentation for
    | more details on how to customize your cache implementation.
    |
    | https://statamic.dev/content-api#caching
    |
    */

    'cache' => [
        'expiry' => 60,
    ],

];

The site's own app/config/statamic/api.php is as shown in my comment before, pre upgrade or after.

@jasonvarga
Copy link
Member

Yeah that looks fine. I'm stumped. 🤔

Got any addons installed?

@afonic
Copy link
Author

afonic commented Mar 18, 2021

Nothing, it's as vanilla as it gets! Maybe I have something broken in some Collection's structure?

The site is not that big so I can always manually copy structures in content/trees and move on in case this is just a freak occurrence and not a reproducible bug.

@jasonvarga
Copy link
Member

Could you zip the site (pre-upgrade) and send it to support@statamic.com ?

@jasonvarga
Copy link
Member

jasonvarga commented Mar 22, 2021

I was able to replicate this issue. It's because your config is cached.

We might be able to fix this, but for now, run php artisan config:clear before updating.

You shouldn't caching your config locally. Or if you're on production, then you probably shouldn't be updating on production.

@pryley
Copy link

pryley commented Apr 1, 2021

I hit this error also. php artisan config:clear fixed it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants