compass-rails是否支持Ruby on Rails 4.0?

时间:2013-06-27 10:44:32

标签: compass-sass ruby-on-rails-4

我使用Gemfile清理新的Rails 4应用程序:

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

使用style.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)

compass-rails目前不支持Rails 4吗?

6 个答案:

答案 0 :(得分:48)

指南针需要重写一些关键部分才能支持Rails 4.你可以使用一个临时分支,它已经攻击了一些支持:

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

您可以关注https://github.com/Compass/compass-rails/pull/59获取最新更新。

更新

<击> 现在有一个alpha版本。

<击> gem "compass-rails", "~> 2.0.alpha.0"

更新2: compass-rails不再是alpha版。

将以下内容添加到Gemfile中,然后键入bundle install

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

答案 1 :(得分:4)

我最终使用了Sunny Juneja建议的alpha版本。

但要使其工作,我必须从我的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'

答案 2 :(得分:3)

从大约18个小时前开始,compass-rails的稳定分支支持Rails 4.从Gemfile中的compass-rails中删除版本字符串“2.0.alpha.0”并运行bundle update

这是提交历史记录:

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

答案 3 :(得分:0)

看来,截至此时(06/29/2013),compass-rails不支持Rails 4.当我运行时

rails generate foundation:install

我收到以下错误消息。

Unsupported rails environment for compass

答案 4 :(得分:0)

我将所有指南针文件添​​加到我的供应商文件夹并且它工作了=),这可能不是更长时间的首选选项=(。

答案 5 :(得分:0)

试试这个:

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

您还应该确保这些资源不包含在资产组中,因为它已从Rails 4.0中删除。

然后删除Gemfile.lock文件并使用bundle命令重新生成它。

rm Gemfile.lock
bundle