2015-03-03 2 views
0

У меня возникает проблема, предварительно скомпилировав активы моих проектов Rails.

Вот версии некоторых из драгоценных камней, которые я использую:

rails (4.2.0) 
bootstrap-sass (3.3.3) 
sass-rails (5.0.1) 

Проект представляет собой AngularJS проект поиске следующие драгоценные камни из Rails Asset:

rails-assets-bootstrap-additions (0.2.3) 
rails-assets-angular-bootstrap (0.11.2) 
rails-assets-bootstrap-sass-official (3.3.3) 

После README on the bootstrap-sass Github page, я переименовал мой app/assets/stylesheets/application.css файл до application.scss и заменил его содержание на:

@import "bootstrap-sprockets"; 
@import "bootstrap"; 

Здесь ошибка я получаю, когда я запускаю RAILS_ENV=production rake assets:precompile --trace:

** Execute assets:precompile 
rake aborted! 
Sass::SyntaxError: Undefined variable: "$alert-padding". 
    (in /home/owner/.rvm/gems/ruby-2.1.5/gems/bootstrap-sass-3.3.3/assets/stylesheets/bootstrap/_alerts.scss:10) 

Я посмотрел в ответ ClothSword на this similar post, но в моем случае puts config.assets.precompile.inspect выходы (lambda)>, /(?:\/|\\|\A)application\.(css|js)$/], которые я считаю, что по умолчанию.

У кого-нибудь есть более глубокое понимание этого? Вы можете просмотреть исходный here

+0

Если вы не изменяете содержимое своего самоцвета Bootstrap, это похоже на проблему с версией (вам, вероятно, придется переключиться на Sass 3.3 или старше ... * или * 3.4, в зависимости от того, ошибка уходит) или ошибка самого Bootstrap. – cimmanon

+0

Как выглядит ваш основной файл scss? – cport1

ответ

1

Похоже, проблемы я облицовкой, что один из драгоценных камней, я использую, sprangular, устанавливает это правило прекомпиляции:

Rails.application.config.assets.precompile += %w(bootstrap/*) 

Если я закомментировать этот правило и источник моей собственной измененной версии драгоценного камня в Gemfile, теперь работает rake assets:precompile.

Я не совсем уверен, почему они установили правило, чтобы прекомпилировать все файлы форварта. Имеет ли это смысл?

Я создал an issue in their Github repo, чтобы получить четкость в отношении того, является ли это ошибкой или просто я не правильно настраиваю конвейер ресурсов в своем приложении.

Я обновлю этот ответ, поскольку получаю ясность из обсуждения там. Не стесняйтесь делать предложения здесь.