peda / statamic-glide-vanity-url

Vanity URLs for images manipulated with Glide in the Statamic CMS
MIT License
5 stars 0 forks source link

Fatal Error: Class 'Statamic\Addons\GlideVanityURL\GlideVanityUrlServiceProvider' not found #2

Open gmcz opened 6 years ago

gmcz commented 6 years ago

Statamic: 2.8.7 Server: Valet on macOS

I installed by putting a folder GlideVanityURL into site/addons with everything from the repo and then ran php please update:addons. I get this error when attempting to access the site now:

[2018-02-26 20:30:53] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Class 'Statamic\Addons\GlideVanityURL\GlideVanityUrlServiceProvider' not found in /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:575
Stack trace:
#0 /.../statamic/core/Providers/AddonServiceProvider.php(54): Illuminate\Foundation\Application->resolveProviderClass('Statamic\\Addons...')
#1 /.../statamic/core/Providers/AddonServiceProvider.php(48): Statamic\Providers\AddonServiceProvider->registerAddonServiceProviders()
#2 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(531): Statamic\Providers\AddonServiceProvider->register()
#3 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(74): Illuminate\Foundation\Application->register(Object(Statamic\Providers\AddonServiceProvider))
#4 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(507): Illuminate\Foundation\ProviderRepository->load(Array)
#5 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php(17): Illuminate\Foundation\Application->registerConfiguredProviders()
#6 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(203): Illuminate\Foundation\Bootstrap\RegisterProviders->bootstrap(Object(Statamic\Application))
#7 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(222): Illuminate\Foundation\Application->bootstrapWith(Array)
#8 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(117): Illuminate\Foundation\Http\Kernel->bootstrap()
#9 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(87): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#10 /.../index.php(155): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#11 /[redacted]/.composer/vendor/laravel/valet/server.php(147): require('[redacted]...')
#12 {main}  
[2018-02-26 20:30:53] local.ERROR: Illuminate\Contracts\Container\BindingResolutionException: Target [Statamic\StaticCaching\Cacher] is not instantiable. in /.../statamic/vendor/laravel/framework/src/Illuminate/Container/Container.php:749
Stack trace:
#0 /.../statamic/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('Statamic\\Static...', Array)
#1 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('Statamic\\Static...', Array)
#2 /.../statamic/vendor/laravel/framework/src/Illuminate/Container/Container.php(842): Illuminate\Foundation\Application->make('Statamic\\Static...')
#3 /.../statamic/vendor/laravel/framework/src/Illuminate/Container/Container.php(805): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#4 /.../statamic/vendor/laravel/framework/src/Illuminate/Container/Container.php(775): Illuminate\Container\Container->getDependencies(Array, Array)
#5 /.../statamic/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('Statamic\\Static...', Array)
#6 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('Statamic\\Static...', Array)
#7 /.../statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\Foundation\Application->make('Statamic\\Static...')
#8 /.../index.php(160): Illuminate\Foundation\Http\Kernel->terminate(Object(Illuminate\Http\Request), Object(Illuminate\Http\Response))
#9 /[redacted]/.composer/vendor/laravel/valet/server.php(147): require('[redacted]...')
#10 {main}  
peda commented 6 years ago

@gmcz please try again - it looks like a had a copy/paste error when extracting that one from a bigger addon on my local machine

gmcz commented 6 years ago

Thank you! That seems to get rid of the error!

However, the plugin seems to have no effect on my assets' names. Does this work with glide presets, or perhaps not?

peda commented 6 years ago

I'm not sure if it does work with Glide presets - in fact I'm not using it any more for my own projects. This worked really well prior to Statamic 2.5. In the 2.5 release they have changed all the image URLs which did cause a real mess for live sites (had to do 301s for all my images to not lose my existing Image Search SEO results). As they are now treating on demand resizes, presets and serving cached images differently it's not that easy any more to have vanity URLs for images.

This is still working for images generated on demand, but I've not yet extended it to also work for images which are served directly from the cache.