2015-07-17 26 views
9

Tôi đang phát triển một ứng dụng Rails (v4.2.1) trong đó có một bootstrap cài đặt trên vendor/assets/components/bootstrap.Sprockets không thể tìm thấy bootstrap v3.3.5 trong khi nó tìm thấy v3.3.4

Mọi thứ diễn ra tốt đẹp cho đến khi tôi nâng cấp bootstrap từ v3.3.4 lên v3.3.5.

Bây giờ tôi thấy một trang lỗi có nội dung là couldn't find file 'bootstrap' with type 'text/css'.

Đây là tôi app/assets/stylesheets/application.css:

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

Nếu tôi hạ cấp bootstrap để v3.3.4, lỗi này sẽ biến mất. Bất kì lời đề nghị nào?

[UPDATE]

Tôi đã cài đặt bộ tăng cường với lệnh bower install. Sau đây là tôi .bowerrc:

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

Tôi có một cây thư mục như thế này:

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

Các phiên bản của sprockets là 3.2.0. Tôi cũng sử dụng sprockets-ray 2.3.2 và sprockets-es6 0.6.2.

+0

Thông tin bổ sung: Phiên bản của sprockets là 3.2.0. Tôi cũng sử dụng sprockets-ray 2.3.2 và sprockets-es6 0.6.2. – Tsutomu

+0

Bạn đang sử dụng đá quý ['bootstrap-sass'] (https://github.com/twbs/bootstrap-sass)? –

+0

@JeremyRodi No. Tôi muốn quản lý các gói JavaScript bằng Bower. Điểm của câu hỏi của tôi là những gì thay đổi giữa v3.3.4 và v3.3.5 về bootstrap. – Tsutomu

Trả lời

1

Tôi đã tìm ra nguyên nhân của câu hỏi của mình.

Nhóm khởi động đã thay đổi phần chính của bower.json kể từ v3.3.5. Trước đây, nó đã có các mặt hàng:

"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" 

Bây giờ nó chỉ có hai mục:

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

Chúng tôi có thể làm theo các cuộc thảo luận liên quan về https://github.com/twbs/bootstrap/issues/16663. Nói một cách đơn giản, họ áp dụng thay đổi này phù hợp với thông số kỹ thuật bower mới https://github.com/bower/bower.json-spec/pull/43. Hiện tại, Sprockets chỉ có thể tìm thấy các tệp được liệt kê trong phần chính của bower.json. Đó là vấn đề của tôi.

Vì vậy, đối với một workaround tôi đã thay đổi tôi application.css như thế này:

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

Một giải pháp cơ bản sẽ là một yêu cầu kéo đến https://github.com/rails/sprockets.

+0

Bạn có phải làm gì đặc biệt để phông chữ hoạt động không? Tôi không thể có được đường ray để bao gồm chúng trong đường ống dẫn và vì vậy các đường dẫn tất cả đều rối tung lên. Cảm ơn! – astjohn

Các vấn đề liên quan