当链接找到v3.3.4

时间:2015-07-17 02:37:50

标签: twitter-bootstrap-3 sprockets

我正在开发一个Rails应用程序(v4.2.1),它在vendor/assets/components/bootstrap上安装了一个引导程序。

在我将引导程序从v3.3.4升级到v3.3.5之前,情况进展顺利。

现在我看到一个显示couldn't find file 'bootstrap' with type 'text/css'的错误页面。

这是我的app/assets/stylesheets/application.css

/*
 *= require_tree .
 *= require bootstrap
 *= require fontawesome
 *= require_self
 */

如果我将引导程序降级到v3.3.4,则此错误消失。有什么建议吗?

[UPDATE]

我使用bower install命令安装了boostrap。以下是我的.bowerrc

{
  "directory": "vendor/assets/components"
}

我有一个像这样的目录树:

vendor
  + assets
    + components
      + bootstrap
        + dist
        + fonts
        + grunt
        + js
        + less
        + .bower.json
        + ...

链轮的版本是3.2.0。我还使用了sprockets-rails 2.3.2和sprockets-es6 0.6.2。

1 个答案:

答案 0 :(得分:1)

我找到了问题的原因。

bower.json起,自举团队更改了v3.3.5部分。之前,它有这些项目:

"less/bootstrap.less",
"dist/css/bootstrap.css",
"dist/js/bootstrap.js",
"dist/fonts/glyphicons-halflings-regular.eot",
"dist/fonts/glyphicons-halflings-regular.svg",
"dist/fonts/glyphicons-halflings-regular.ttf",
"dist/fonts/glyphicons-halflings-regular.woff",
"dist/fonts/glyphicons-halflings-regular.woff2"

现在它只有两个项目:

"less/bootstrap.less",
"dist/js/bootstrap.js"

我们可以关注https://github.com/twbs/bootstrap/issues/16663的相关讨论。简而言之,他们根据新的凉亭规格https://github.com/bower/bower.json-spec/pull/43应用了这一变化。目前,Sprockets只能找到bower.json部分中列出的文件。这是我的问题。

因此,对于解决方法,我改变了我的application.css

/*
 *= require_tree .
 *= require bootstrap/dist/css/bootstrap
 *= require fontawesome
 *= require_self
 */

根本的解决方案是对https://github.com/rails/sprockets的拉取请求。