在 symfony2 中使用 assetic:dump 时出错


Error when using assetic:dump in symfony2

当我尝试键入此命令时,我遇到了这样的错误php app/console assetic:dump

[Assetic'Exception'FilterException]                                          
An error occurred while running:                                             
'/usr/local/bin/node' '/tmp/assetic_lesswt3ok6'                              
Error Output:                                                                
FileError: '../../bootstrap/less/bootstrap.less' wasn't found.               
 in mopabootstrapbundle.less:22:0                                            
21 // Main bootstrap.less entry point                                        
22 @import "../../bootstrap/less/bootstrap.less";                            
23                                                                           

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 pa  
thes 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 t  
his 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 s  
o 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/bootstrap/img/glyphicons-hal  
flings.png";                                                                 
@iconWhiteSpritePath:  "/bundles/mopabootstrap/bootstrap/img/glyphicons-hal  
flings-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 re  
sponsive.less also overrides it with the one from bootstrap!!!!!

我不明白错误来自什么。我试图搜索此错误,但没有一个解决方案是有效的

这是我的树枝文件

{% block stylesheets %}
    {{ parent() }}
    {% stylesheets 
        filter='cssrewrite,?yui_css'
        'bundles/mopabootstrap/css/mopabootstrapbundle.css'
    %}
        <link href="{{ asset_url }}" rel="stylesheet" type="text/css" />
    {% endstylesheets %}
{% endblock %}

我在使用mopabootstrap捆绑包时遇到了同样的错误。用于安装符号链接的命令php app/console mopa:bootstrap:symlink:less在vendor/mopa/bootstrap-bundle/Mopa/Bundle/BootstrapBundle/Resources中正确创建了符号链接,但仍然找不到bootstrap.less文件。

所以我通过复制vendor/mopa/bootstrap-bundle/Mopa/Bundle/BootstrapBundle/Resources中的vendor/twbs/bootstrap文件夹来修复它。这不是一个真正合适的解决方案,但至少我可以倾销资产。

@Kevin是正确的,这是凯文给出的演示解决方案:

PHP 应用程序/控制台 mopa:bootstrap:symlink:less

正在初始化作曲家...做。

正在检查符号链接...不存在

创建符号链接: /var/www/carsing/vendor/mopa/bootstrap-bundle/Mopa/Bundle/BootstrapBundle/Resources/public/bootstrap

对于目标:../../../../../../../twbs/bootstrap ...还行

如您所见,mopa 捆绑包需要(链接到)引导程序。

现在php app/console assetic:dump完全没有错误地工作。