mezzio / mezzio-skeleton

Laminas mezzio skeleton. Begin developing PSR-15 middleware applications in seconds!
https://docs.mezzio.dev/mezzio/
BSD 3-Clause "New" or "Revised" License
115 stars 31 forks source link

Laminas\View\Renderer\PhpRenderer::render: Unable to render template "app::home-page"; resolver could not resolve to a file #62

Closed PHPTCloud closed 8 months ago

PHPTCloud commented 2 years ago

Bug Report

Q A
Version(s) 3

Summary

After installation I've got error on my home page

Laminas\View\Renderer\PhpRenderer::render: Unable to render template "app::home-page"; resolver could not resolve to a file

How to reproduce

Composer version 2.2.1 PHP 7.4.27

Creating a "mezzio/mezzio-skeleton" project at "./"
Installing mezzio/mezzio-skeleton (3.10.0)
  - Installing mezzio/mezzio-skeleton (3.10.0): Extracting archive
Created project in /home/tcloud/Documents/01_Works/amoCRM/second_task/.
> MezzioInstaller\OptionalPackages::install
Setting up optional packages
Setup data and cache dir
Removing installer development dependencies

  What type of installation would you like?
  [1] Minimal (no default middleware, templates, or assets; configuration only)
  [2] Flat (flat source code structure; default selection)
  [3] Modular (modular source code structure; recommended)
  Make your selection (2): 
  - Copying src/App/ConfigProvider.php

  Which container do you want to use for dependency injection?
  [1] Aura.Di (supported by laminas)
  [2] Pimple (supported by laminas)
  [3] laminas-servicemanager (supported by laminas)
  [4] Auryn
  [5] Symfony DI Container
  [6] PHP-DI
  [7] chubbyphp-container
  Make your selection or type a composer package name and version (laminas-servicemanager (supported by laminas)): 
  - Adding package laminas/laminas-servicemanager (^3.4)
  - Copying config/container.php

  Which router do you want to use?
  [1] Aura.Router (supported by laminas)
  [2] FastRoute (supported by laminas)
  [3] laminas-router (supported by laminas)
  Make your selection or type a composer package name and version (FastRoute (supported by laminas)): 
  - Adding package mezzio/mezzio-fastroute (^3.0.3)
  - Whitelist package mezzio/mezzio-fastroute
  - Copying config/routes.php

  Which template engine do you want to use?
  [1] Plates (supported by laminas)
  [2] Twig (supported by laminas)
  [3] laminas-view installs laminas-servicemanager (supported by laminas)
  [n] None of the above
  Make your selection or type a composer package name and version (n): 2
  - Adding package mezzio/mezzio-twigrenderer (^2.6)
  - Whitelist package mezzio/mezzio-twigrenderer
  - Copying templates/error/404.html.twig
  - Copying templates/error/error.html.twig
  - Copying templates/layout/default.html.twig
  - Copying templates/app/home-page.html.twig

  Which error handler do you want to use during development?
  [1] Whoops (supported by laminas)
  [n] None of the above
  Make your selection or type a composer package name and version (Whoops (supported by laminas)): 
  - Adding package filp/whoops (^2.7.1)
  - Copying config/autoload/development.local.php.dist
Remove installer
Removing composer.lock from .gitignore
Removing Mezzio installer classes, configuration, tests and docs
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Package operations: 130 installs, 0 updates, 0 removals
  - Installing composer/package-versions-deprecated (1.11.99.2): Extracting archive
composer/package-versions-deprecated contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
Do you trust "composer/package-versions-deprecated" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] 
y - add package to allow-plugins in composer.json and let it run immediately
n - add package (as disallowed) to allow-plugins in composer.json to suppress further prompts
d - discard this, do not change composer.json and do not allow the plugin to run
? - print help
Do you trust "composer/package-versions-deprecated" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] y
  - Installing laminas/laminas-zendframework-bridge (1.2.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.6.0): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v0.7.1): Extracting archive
dealerdirect/phpcodesniffer-composer-installer contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
Do you trust "dealerdirect/phpcodesniffer-composer-installer" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] y
  - Installing laminas/laminas-component-installer (2.5.0): Extracting archive
laminas/laminas-component-installer contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
Do you trust "laminas/laminas-component-installer" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] y
  - Installing psr/container (1.1.1): Extracting archive
  - Installing chubbyphp/chubbyphp-container (1.3.0): Extracting archive
  - Installing chubbyphp/chubbyphp-laminas-config (1.1.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.23.0): Extracting archive
  - Installing symfony/process (v5.2.7): Extracting archive
  - Installing symfony/finder (v5.2.9): Extracting archive
  - Installing symfony/polyfill-ctype (v1.23.0): Extracting archive
  - Installing symfony/filesystem (v5.2.7): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.23.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.23.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.23.0): Extracting archive
  - Installing symfony/string (v5.2.8): Extracting archive
  - Installing symfony/service-contracts (v2.4.0): Extracting archive
  - Installing symfony/polyfill-php73 (v1.23.0): Extracting archive
  - Installing symfony/console (v5.2.8): Extracting archive
  - Installing seld/phar-utils (1.1.1): Extracting archive
  - Installing seld/jsonlint (1.8.3): Extracting archive
  - Installing react/promise (v2.8.0): Extracting archive
  - Installing psr/log (1.1.4): Extracting archive
  - Installing justinrainbow/json-schema (5.2.10): Extracting archive
  - Installing composer/xdebug-handler (2.0.1): Extracting archive
  - Installing composer/spdx-licenses (1.5.5): Extracting archive
  - Installing composer/semver (3.2.5): Extracting archive
  - Installing composer/metadata-minifier (1.0.0): Extracting archive
  - Installing composer/ca-bundle (1.2.9): Extracting archive
  - Installing composer/composer (2.0.14): Extracting archive
  - Installing php-di/phpdoc-reader (2.2.1): Extracting archive
  - Installing php-di/invoker (2.3.0): Extracting archive
  - Installing opis/closure (3.6.2): Extracting archive
  - Installing php-di/php-di (6.3.3): Extracting archive
  - Installing laminas/laminas-stdlib (3.3.1): Extracting archive
  - Installing elie29/zend-phpdi-config (v6.0.0): Extracting archive
  - Installing filp/whoops (2.12.1): Extracting archive
  - Installing symfony/deprecation-contracts (v2.4.0): Extracting archive
  - Installing symfony/dependency-injection (v5.2.9): Extracting archive
  - Installing jsoumelidis/zend-sf-di-config (0.4.1): Extracting archive
  - Installing aura/di (4.1.0): Extracting archive
  - Installing laminas/laminas-auradi-config (2.1.0): Extracting archive
  - Installing webimpress/coding-standard (1.2.2): Extracting archive
  - Installing phpstan/phpdoc-parser (0.5.4): Extracting archive
  - Installing slevomat/coding-standard (7.0.8): Extracting archive
  - Installing laminas/laminas-coding-standard (2.3.0): Extracting archive
  - Installing webimpress/safe-writer (2.2.0): Extracting archive
  - Installing nikic/php-parser (v4.10.5): Extracting archive
  - Installing brick/varexporter (0.3.5): Extracting archive
  - Installing laminas/laminas-config-aggregator (1.5.0): Extracting archive
  - Installing laminas/laminas-development-mode (3.3.0): Extracting archive
  - Installing laminas/laminas-eventmanager (3.3.1): Extracting archive
  - Installing container-interop/container-interop (1.2.0): Extracting archive
  - Installing laminas/laminas-validator (2.14.4): Extracting archive
  - Installing laminas/laminas-escaper (2.7.0): Extracting archive
  - Installing laminas/laminas-uri (2.8.1): Extracting archive
  - Installing laminas/laminas-loader (2.7.0): Extracting archive
  - Installing laminas/laminas-http (2.14.3): Extracting archive
  - Installing psr/http-message (1.0.1): Extracting archive
  - Installing psr/http-server-handler (1.0.1): Extracting archive
  - Installing psr/http-factory (1.0.1): Extracting archive
  - Installing laminas/laminas-diactoros (2.6.0): Extracting archive
  - Installing laminas/laminas-httphandlerrunner (1.4.0): Extracting archive
  - Installing laminas/laminas-json (3.2.0): Extracting archive
  - Installing pimple/pimple (v3.4.0): Extracting archive
  - Installing laminas/laminas-pimple-config (1.1.2): Extracting archive
  - Installing psr/http-server-middleware (1.0.1): Extracting archive
  - Installing fig/http-message-util (1.1.5): Extracting archive
  - Installing mezzio/mezzio-router (3.4.0): Extracting archive
  - Installing aura/router (3.1.0): Extracting archive
  - Installing mezzio/mezzio-aurarouter (3.1.0): Extracting archive
  - Installing nikic/fast-route (v1.3.0): Extracting archive
  - Installing mezzio/mezzio-fastroute (3.2.0): Extracting archive
  - Installing laminas/laminas-servicemanager (3.6.4): Extracting archive
  - Installing laminas/laminas-router (3.4.5): Extracting archive
  - Installing laminas/laminas-psr7bridge (1.3.1): Extracting archive
  - Installing mezzio/mezzio-laminasrouter (3.1.0): Extracting archive
  - Installing mezzio/mezzio-template (2.1.1): Extracting archive
  - Installing mezzio/mezzio-helpers (5.6.0): Extracting archive
  - Installing laminas/laminas-view (2.12.0): Extracting archive
  - Installing mezzio/mezzio-laminasviewrenderer (2.3.0): Extracting archive
  - Installing league/plates (v3.4.0): Extracting archive
  - Installing mezzio/mezzio-platesrenderer (2.3.0): Extracting archive
  - Installing webmozart/assert (1.10.0): Extracting archive
  - Installing laminas/laminas-stratigility (3.3.0): Extracting archive
  - Installing mezzio/mezzio (3.5.0): Extracting archive
  - Installing laminas/laminas-composer-autoloading (2.2.0): Extracting archive
  - Installing laminas/laminas-code (3.5.1): Extracting archive
  - Installing mezzio/mezzio-tooling (1.4.0): Extracting archive
  - Installing twig/twig (v3.3.2): Extracting archive
  - Installing mezzio/mezzio-twigrenderer (2.7.0): Extracting archive
  - Installing mikey179/vfsstream (v1.6.8): Extracting archive
  - Installing rdlowrey/auryn (v1.4.4): Extracting archive
  - Installing northwoods/container (3.2.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.4.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.2.2): Extracting archive
  - Installing sebastian/version (3.0.2): Extracting archive
  - Installing sebastian/type (2.3.1): Extracting archive
  - Installing sebastian/resource-operations (3.0.3): Extracting archive
  - Installing sebastian/recursion-context (4.0.4): Extracting archive
  - Installing sebastian/object-reflector (2.0.4): Extracting archive
  - Installing sebastian/object-enumerator (4.0.4): Extracting archive
  - Installing sebastian/global-state (5.0.2): Extracting archive
  - Installing sebastian/exporter (4.0.3): Extracting archive
  - Installing sebastian/environment (5.1.3): Extracting archive
  - Installing sebastian/diff (4.0.4): Extracting archive
  - Installing sebastian/comparator (4.0.6): Extracting archive
  - Installing sebastian/code-unit (1.0.8): Extracting archive
  - Installing sebastian/cli-parser (1.0.1): Extracting archive
  - Installing phpunit/php-timer (5.0.3): Extracting archive
  - Installing phpunit/php-text-template (2.0.4): Extracting archive
  - Installing phpunit/php-invoker (3.1.1): Extracting archive
  - Installing phpunit/php-file-iterator (3.0.5): Extracting archive
  - Installing theseer/tokenizer (1.2.0): Extracting archive
  - Installing sebastian/lines-of-code (1.0.3): Extracting archive
  - Installing sebastian/complexity (2.0.2): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
  - Installing phpunit/php-code-coverage (9.2.6): Extracting archive
  - Installing doctrine/instantiator (1.4.0): Extracting archive
  - Installing phpspec/prophecy (1.13.0): Extracting archive
  - Installing phar-io/version (3.1.0): Extracting archive
  - Installing phar-io/manifest (2.0.1): Extracting archive
  - Installing myclabs/deep-copy (1.10.2): Extracting archive
  - Installing phpunit/phpunit (9.5.4): Extracting archive
  - Installing phpspec/prophecy-phpunit (v2.0.1): Extracting archive
  - Installing phpstan/phpstan (0.12.88): Extracting archive
  - Installing phpstan/phpstan-strict-rules (0.12.9): Extracting archive
  - Installing roave/security-advisories (dev-master 80f32ef)

  Please select which config file you wish to inject 'Laminas\Validator\ConfigProvider' into:
  [0] Do not inject
  [1] config/config.php
  Make your selection (default is 1):

  Remember this option for other packages of the same type? (Y/n)Y
    Installing Laminas\Validator\ConfigProvider from package laminas/laminas-validator
    Installing Laminas\HttpHandlerRunner\ConfigProvider from package laminas/laminas-httphandlerrunner
    Installing Mezzio\Router\AuraRouter\ConfigProvider from package mezzio/mezzio-aurarouter
    Installing Mezzio\Router\FastRouteRouter\ConfigProvider from package mezzio/mezzio-fastroute
    Installing Laminas\Router\ConfigProvider from package laminas/laminas-router
    Installing Mezzio\Router\LaminasRouter\ConfigProvider from package mezzio/mezzio-laminasrouter
    Installing Mezzio\Helper\ConfigProvider from package mezzio/mezzio-helpers
    Installing Mezzio\LaminasView\ConfigProvider from package mezzio/mezzio-laminasviewrenderer
    Installing Mezzio\Plates\ConfigProvider from package mezzio/mezzio-platesrenderer
    Installing Mezzio\Twig\ConfigProvider from package mezzio/mezzio-twigrenderer
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
Generating autoload files
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
91 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
PHP CodeSniffer Config installed_paths set to ../../laminas/laminas-coding-standard/src,../../slevomat/coding-standard,../../webimpress,../../webimpress/coding-standard/src
> laminas-development-mode enable
You are now in development mode.
PHPTCloud commented 2 years ago

To resolve this error need install Twig via composer. But I expected that installation will be automatically.

composer require twig/twig
Ocramius commented 2 years ago

It's still using the PhpRenderer, according to that exception :thinking:

geerteltink commented 2 years ago

According to the composer output its installing everything. It should only install selected packages.

geerteltink commented 2 years ago

Moved to mezzio/mezzio-skeleton.

jslmorrison commented 2 years ago

I am also experiencing this when running composer create-project mezzio/mezzio-skeleton command and selecting twig as the templating engine. A composer update fixes it as mentioned elsewhere. That is the default homepage will display without error after doing so. Perhaps related to this: https://github.com/mezzio/mezzio-skeleton/pull/56

Xerkus commented 8 months ago

I do not observe such behavior. Seems to be resolved.