php ruby symfony compass

php - Brújula en Symfony 2, filtro de activos, excepción



ruby compass (2)

Es muy probable que esto sea algo que ya ha intentado / notado, pero por las dudas:

El error parece ser que el intérprete de rubí está muriendo, en lugar de asfixiarse con su scss / ramita. Lo que tiene cierto sentido, ya que Ruby no espera que se use un script .BAT.

Generalmente solo se usa ''brújula'', no ''compás BAT'', que por lo general simplemente llama a ruby ​​con ''compás''.

Es decir

"C: / Ruby21-x64 / bin / ruby.EXE" "C: / Ruby21-x64 / bin / compass.BAT" "compilar" "C: / Users / tommie / AppData / Local / Temp" "--boring" "--config" "C: / Users / tommie / Datos de la aplicación / Local / Temp / ass4325.tmp" "--sass-dir" "" "--css-dir" "" "C: / Users / tommi e /AppData/Local/Temp/ass4326.tmp.scss "

Normalmente sería

"C: / Ruby21-x64 / bin / ruby.EXE" "C: / Ruby21-x64 / bin / compás" "compilar" "C: / Users / tommie / AppData / Local / Temp" "--boring" "- -config "" C: / Users / tommie / App Data / Local / Temp / ass4325.tmp "" --sass-dir "" "" --css-dir "" "" C: / Users / tommi e / AppData /Local/Temp/ass4326.tmp.scss "

Básicamente, establezca la ruta brújula.bin para que no contenga el .bat y probablemente esté bien. Esto generalmente se encuentra en assetic.filters.compass.bin en su config.yml

Ver también https://github.com/symfony/AsseticBundle/issues/158

Esto también revela que los caracteres especiales no son del agrado, no estoy seguro de qué tan bien le gustan los espacios en los directorios. Esos también podrían contribuir a la asfixia si aún no funciona sin el .bat

He instalado brújula en mi proyecto Symfony 2. Ahora quiero usar el filtro de activos en combinación con la brújula. estoy usando Windows 7.

Creo que casi funciona, pero sigo recibiendo este error:

[Assetic/Exception/FilterException] An error occurred while running: "C:/Ruby21-x64/bin/ruby.EXE" "C:/Ruby21-x64/bin/compass.BAT" "compile" "C:/ Users/tommie/AppData/Local/Temp" "--boring" "--config" "C:/Users/tommie/App Data/Local/Temp/ass4325.tmp" "--sass-dir" "" "--css-dir" "" "C:/Users/tommi e/AppData/Local/Temp/ass4326.tmp.scss" Error Output: C:/Ruby21-x64/bin/compass.BAT:1: syntax error, unexpected tCONSTANT, expect ing end-of-input

Mi código en html (ramita): stylesheets.html.twig

{% stylesheets filter="compass" output=''css/compiled/*.css'' "@AcmeSassDemoBundle/Resources/assets/css/base.scss" %} <link rel="stylesheet" href="{{ asset_url }}" /> {% endstylesheets %}

base.html.twig:

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>{% block title %}Sass Demo!{% endblock %}</title> {#{% block stylesheets %}{% endblock %} #} {% include "AcmeSassDemoBundle:Demo:stylesheets.html.twig" %} <link rel="shortcut icon" href="{{ asset(''favicon.ico'') }}" /> </head> <body> <div id="header"> {% block header %} <h1>Sass Demo</h1> <div class="logo">this container is half as big as the sass.gif''s dimension</div> {% endblock %} </div> <div id="menu"> <ul> <li class="add"><a href="#">add something</a></li> <li class="edit"><a href="#">edit something</a></li> <li class="delete"><a href="#">delete something</a></li> </ul> </div> <div id="content"> {% block body %}hello sass!{% endblock %} </div> <div id="footer"> {% block footer %}awesome footer goes here ...{% endblock %} </div> {% block javascripts %}{% endblock %}</ </body>

index.html.twig:

{% extends ''AcmeSassDemoBundle:Demo:base.html.twig'' %} {% block body %} <div class="content"> hello world <div class="sub"> This text should be in green ... <div class="sub"> ... and this one in blue! </div> </div>

mi configuración de activo de filtro config.yml:

# Assetic Configuration assetic: debug: false use_controller: true# default: true filters: sass: ~ compass: compass: bin: C:/Ruby21-x64/bin/compass.bat

base.scss

$main-background-color: #FFF; $main-color: #FFF; $light-color: #759E1A; $link-color: #0088CC; body { background-color: #CCC; } @mixin rounded($side, $radius: 10px) { border-radius: $radius; border-#{$side}-radius: $radius; -moz-border-radius-#{$side}: $radius; -webkit-border-#{$side}-radius: $radius; } @import "header.scss"; @import "menu.scss"; @import "content.scss"; @import "footer.scss";


No quiero desanimarlo, pero con Windows y Ruby este es el peor combo de la historia (también nodo, node_module con subdirectorios de árbol largos, lo que hace que Windows tenga un límite de 256 caracteres y mostrará un error instalando los paquetes). Mi punto es como una alternativa para mover su proyecto a Virtual Machine similar a la configuración de su servidor. (VirtualBox y Vagrant)

Linux es más amigable con Ruby (tiene soporte para él) y tiene enlaces simbólicos y largos nombres de ruta;

para retocar: https://symfony.com/doc/2.8/setup/homestead.html

Tal vez será de ayuda también este viejo enlace: ¿Cómo utilizar el filtro SCSS en Symfony2 en Windows?