PHP symfony2 引导资产:转储错误

Posted

技术标签:

【中文标题】PHP symfony2 引导资产:转储错误【英文标题】:PHP symfony2 bootstrap assetic:dump error 【发布时间】:2015-10-16 13:48:31 【问题描述】:

我正在尝试在我的 symfony2.7 项目中使用 twitter bootstrap。这是我的composer.json 文件中的内容:

"require":    
    ...
    "braincrafted/bootstrap-bundle": "dev-master",
    "leafo/lessphp": "0.4.0",
    "twbs/bootstrap": "3.0.*",
    "jquery/jquery":  "1.11.*"
,

然后我配置assetic如下:

    lessphp:
         file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php
         apply_to: "\.less$"
    cs-s-rewrite: ~
braincrafted_bootstrap:
    less_filter: lessphp

那么当我执行assetic:dump 时,控制台响应就是这个:

PS D:\Web\job-bid> php app/consoleassetic:dump --force web

转储所有开发资产。调试模式已开启。

10:17:49 [文件+] web/css/bootstrap.css [异常] 无法分配 arg @list: line: 50

assetic:dump [--forks FORKS] [--watch] [--force] [--period PERIOD] [--] [] PS D:\Web\job-bid

可能是什么问题?

编辑: 好吧,我已更改为最新版本的 bootstrap 2,但它给了我一个不同的错误:

PS D:\Web\job-bid> php app/consoleassetic:dump web --force Dumping 所有开发资产。调试模式已开启。

16:43:18 [文件+] web/css/bootstrap.css 16:43:19 [文件+] web/css/bootstrap_bootstrap_1.css 16:43:21 [文件+] web/css/bootstrap_form_2.css 16:43:21 [文件+] web/js/bootstrap.js

[RuntimeException] 源文件 "D:\Web\job-bid\app/../vendor/twbs/bootstrap/js/transition.js" 确实 不存在。

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

PS D:\Web\job-bid>

【问题讨论】:

【参考方案1】:

AFAIK http://leafo.net/lessphp/ 与 Boostrap 3 > 3.0.0 不兼容,请参阅 https://github.com/leafo/lessphp/issues/503

查看这个更完整的答案:https://***.com/a/20914166/4989952

【讨论】:

您还应该更新 BootstrapBundle 版本。检查bundle compaibility section,你应该使用 v1.4.* 和 bootstrap 2,而不是 dev-master。

以上是关于PHP symfony2 引导资产:转储错误的主要内容,如果未能解决你的问题,请参考以下文章

symfony2 - 资产资产:转储命令不能正确创建样式表

Symfony 2 Assetic 致命错误:在资产转储中找不到类“Assetic\Util\PathUtils”

尝试使用 Windows 7 为 Symfony2 项目转储资产时出现运行时异常

Symfony2 资产路由和资源错误

symfony2:使用assetic-dump,可以只转储一个文件吗?

资产转储后将资产恢复为动态模式