Search code examples
phpnode.jssymfonyfedoraassetic

Assetic give me an FilterException since I update to Fedora25


After Updating my Fedora 24 to 25, the official php version went from 5.6 to 7.0. So I installed the older version to have both available (via Remi Depo)

$ php -v
PHP 7.0.13 (cli) (built: Nov 25 2016 06:03:52) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

$ php56 -v
PHP 5.6.29 (cli) (built: Dec  8 2016 07:55:50) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

I re install node, nodejs and less to have a clean install.

dnf install node nodejs
npm install -g less

But since I can't run the symfony 2 assetic command: (running it with php or php56 doesn't change the output)

$ php app/console assetic:dump
Dumping all dev assets.
Debug mode is on.

16:06:19 [file+] /var/www/project/app/../web/css/5a72185.css


  [Assetic\Exception\FilterException]                                                                                                                                                     
  An error occurred while running:                                                                                                                                                        
  'node' '/tmp/assetic_lessjBxrsP'                                                                                                                                                        
  Error Output:                                                                                                                                                                           
  NameError: #grid > .core > .span is undefined in /var/www/project/vendor/mopa/bootstrap-bundle/Mopa/Bundle/BootstrapBundle/Resources/bootstrap/less/navbar.less on line 199, column 3:  
  198 .navbar-fixed-bottom .container {                                                                                                                                                   
  199   #grid > .core > .span(@gridColumns);                                                                                                                                              
  200 }                                                                                                                                                                                   
  Input:                                                                                                                                                                                  
  /*!                                                                                                                                                                                     
   * MopaBootstrapBundle                                                                                                                                                                  
   *                                                                                                                                                                                      
   * Copyright 2011 Mohrenweiser & Partner                                                                                                                                                
   * Licensed under the Apache License v2.0                                                                                                                                               
   * http://www.apache.org/licenses/LICENSE-2.0                                                                                                                                           
   *                                                                                                                                                                                      
   * Import this file in your less files as first to be abled to access less vars from your file                                                                                          
   * OR                                                                                                                                                                                   
   * Add it to the stylesheets of assetic or                                                                                                                                              
   * Add it as described on http://www.lesscss.org with the less.js (maybe pathes must be adapted in that case)                                                                           
   *                                                                                                                                                                                      
   * Be careful when using less this way, might be most straight forward, but assetic doesnt check the included files                                                                     
   * for changes, and will only regenerate the css if it detects changes in this file!                                                                                                    
   *                                                                                                                                                                                      
   * For development it might be easier to include all you less files in the layout directly                                                                                              
   * But then assetic will compile each less file in a own compiler session so you cant mix in the less style into bootstrap, which might not be OK                                       
   */                                                                                                                                                                                     
  // Main bootstrap.less entry point                                                                                                                                                      
  @import "../../bootstrap/less/bootstrap.less";                                                                                                                                          
  // variables                                                                                                                                                                            
  @iconSpritePath:       "/bundles/mopabootstrap/img/glyphicons-halflings.png";                                                                                                           
  @iconWhiteSpritePath:  "/bundles/mopabootstrap/img/glyphicons-halflings-white.png";                                                                                                     
  // The Paginator less for MopaBootstrapBundle                                                                                                                                           
  @import "paginator.less";                                                                                                                                                               
  // The Subnav less for MopaBootstrapBundle                                                                                                                                              
  @import "subnav.less";                                                                                                                                                                  
  // Collection support for MopaBootstrapBundle                                                                                                                                           
  @import "collections.less";                                                                                                                                                             
  // Collection support for MopaBootstrapBundle                                                                                                                                           
  @import "google-maps.less";                                                                                                                                                             
  // if you have any variables.less file INCLUDE IT AFTER EVERYTHING cause responsive.less also overrides it with the one from bootstrap!!!!!                                             


assetic:dump [--forks FORKS] [--watch] [--force] [--period PERIOD] [--] [<write_to>]

Why is the assetic command not working ?


Solution

  • The Fedora upgrade might have updated your Less version and it is no longer working with your project.

    Try to install and use an older version like the 1.7.5.

    sudo npm install -g [email protected]