Hola a todos, tengo un gran problema con Assetic cuando intento ejecutar mi proyecto en un repositorio remoto.
Cuando tengo todo en local, me corre de maravilla. Pero en remoto, cuando intento ejecutar el comando
$ php app/console assetic:dump --env=prod --no-debug
Me dice que no encuentra los archivos CSS. He revisado la ruta y estos existen. ¿Cuál es mi fallo? Antes de hacer eso he corrido el comando:
$ php app/console assets:install web
para asegurarme que se instalan allí. Sin embargo me aparece siempre el mismo error.
He puesto mi código en github: https://github.com/SakyaStelios/prometeo por si alguien tiene la amabilidad de ayudarme con el error y la aplicación de prueba está en: http://prometeo-sakya.rhcloud.com/app_dev.php
Muchas gracias por su ayuda
Respuestas
Vaya, me autorespondo.
Parece ser que el problema fue por el nombre de la carpeta. Por alguna razón, al ejecutar el comando
$ php app/console assets:install web
escribió el nombre de la carpeta con Minúsculas. Y el siguiente comando:
$ php app/console assetic:dump --env=prod --no-debug
buscaba el nombre de la carpeta con mayúsculas . Las carpetas no deberían accederse independientemente de las mayúsculas?
@SakyaStelios
Como tú mismo has dicho, se trata de un problema de mayúsculas y minúsculas. En concreto, el error se encuentra en estas líneas de la plantilla base.html.twig:
{% block stylesheets %} {% stylesheets 'bundles/Adan/css/fonts.css' 'bundles/Adan/css/app.css' 'bundles/Adan/css/screen.css' 'bundles/Adan/css/ie.css' 'bundles/Adan/css/mygrid.css' 'bundles/Adan/css/dakota.css' filter='cssrewrite' %} <link rel="stylesheet" href="{{ asset_url }}" /> {% endstylesheets %} {% endblock %}
Deberías cambiar Adan
por adan
que es el nombre que realmente se utiliza al crear los directorios.
Respecto a si debería o no dar problemas esta diferencia, realmente el problema se produce a nivel de sistema operativo. Linux distingue siempre mayúsculas de minúsculas, a Windows le da exactamente igual y Mac OS en teoría no las distingue, pero su comportamiento es algo especial. Así que si desarrollas por ejemplo en Windows o Mac y luego ejecutas en un servidor Linux, puedes encontrarte con problemas.
@javiereguiluz