Подтвердить что ты не робот

Поддерживает ли компас-рельсы Ruby on Rails 4.0?

У меня есть новое новое приложение Rails 4 с Gemfile:

#default gems
gem 'compass-rails'
gem 'zurb-foundation'
gem 'thin'

со стилем .scss:

@import "compass";
@import "foundation/variables";
$red: rgb(255,0,1);
$green: rgb(51,153,50);
$body-bg: #F4F4F4;
$body-font-color: #7B7B7B;
$primary-color: #999;
$secondary-color: #0CC;
$dark-color: #393939;
$block-container-border-color: rgb(218,218,218);
$block-container-shadow-color: rgb(208,208,208);
// main background
html{
  background:image-url('bckg.jpg');
}
body{
  width:1000px;
  margin:0 auto;
  @include box-shadow(0px 0px 32px -5px #000);
}

И у меня есть эта ошибка:

Showing /Users/quatermain/Projects/rails40/app/views/layouts/application.html.erb where line #18 raised:

File to import not found or unreadable: compass.
Load paths:
  /Users/quatermain/Projects/rails40/app/assets/images
  /Users/quatermain/Projects/rails40/app/assets/javascripts
  /Users/quatermain/Projects/rails40/app/assets/stylesheets
  /Users/quatermain/Projects/rails40/vendor/assets/javascripts
  /Users/quatermain/Projects/rails40/vendor/assets/stylesheets
  /usr/local/rvm/gems/ruby-1.9.3-p392/gems/turbolinks-1.2.0/lib/assets/javascripts
  /usr/local/rvm/gems/ruby-1.9.3-p392/gems/jquery-rails-3.0.1/vendor/assets/javascripts
  /usr/local/rvm/gems/ruby-1.9.3-p392/gems/coffee-rails-4.0.0/lib/assets/javascripts
  /usr/local/rvm/gems/ruby-1.9.3-p392/gems/zurb-foundation-4.2.3/scss
  /usr/local/rvm/gems/ruby-1.9.3-p392/gems/zurb-foundation-4.2.3/js
  (in /Users/quatermain/Projects/rails40/app/assets/stylesheets/style.scss:5)

Является ли Rails 4 в настоящее время не поддерживаемым compass-rails?

4b9b3361

Ответ 1

Компас должен иметь некоторые ключевые части, переписанные для поддержки Rails 4. Существует временная ветка, которую вы можете использовать, которая взломала некоторую поддержку:

'gem "compass-rails", github: "milgner/compass-rails", ref: "1749c06f15dc4b058427e7969810457213647fb8"

Вы можете следить за https://github.com/Compass/compass-rails/pull/59 за последние обновления. Забастовкa >

Update:

Теперь есть версия в alpha.

gem "compass-rails", "~> 2.0.alpha.0" Забастовкa >

Обновление 2: компас-рельсы уже не в альфе.

Добавьте следующее в свой Gemfile и введите bundle install.

gem "compass-rails", "~> 1.1.2"

Ответ 2

В итоге я использовал альфа-версию, предложенную Sunny Juneja.

Но чтобы заставить его работать, мне пришлось удалить группу активов из моего gemfile:

# Not working:
group :assets do       # remove me olde line
   gem 'sass-rails',   '~> 4.0.0'
   gem 'compass-rails' # specify me version
end                    # remove me too, says aye

# Working:
gem 'sass-rails',    '~> 4.0.0'
gem 'compass-rails', '~> 2.0.alpha.0'

Ответ 3

Примерно через 18 часов стабильная ветка компас-рельсов поддерживает Rails 4. Удалите строку версии 2.0.alpha.0 из компас-рельсов в Gemfile и запустите bundle update.

Здесь история фиксации:

https://github.com/Compass/compass-rails/commits/stable

Ответ 4

Похоже, что с этого времени (06/29/2013) компас-рельсы не поддерживают Rails 4. Когда я запускаю

rails generate foundation:install

Я получаю сообщение об ошибке ниже.

Unsupported rails environment for compass

Ответ 5

Я добавил все файлы компаса в папку моего поставщика, и он работал =), это может быть не предпочтительным вариантом для long longer = (.

Ответ 6

Попробуйте следующее:

gem 'sass-rails'
gem 'compass-rails', github: 'Compass/compass-rails'

Вы также должны убедиться, что они НЕ включены внутри вашей группы активов, поскольку она была удалена из Rails 4.0.

Затем удалите файл Gemfile.lock и восстановите его с помощью команды bundle.

rm Gemfile.lock
bundle